Just nu i M3-nätverket
Gå till innehåll

LtRage

Medlem
  • Antal inlägg

    20
  • Gick med

  • Senaste besök

Om LtRage

  • Medlemstitel
    Användare
  • Födelsedag 1975-09-13

Kontaktinformation

  • Hemsida
    http://

Profil

  • Ort
    Eskilstuna
  1. LtRage

    Count och group by

    Hej Har ett problem. Har en asp sida där man kan anmäla sig till olika arrangemang. Här kan medlemmer på sidan anmäla sig liksom gäster. När jag skapar ett arrangemang så skapar jag även antalet platser som arrangemanget har i och ger dem status ledig. När folk sedan anmäler sig så ändras dessa platsers id till antingen gäst eller spelarens id. Jag skulle vilja räkna ut hur många lediga platser det finns men är osäker på sql satsen. Då man verkar vara tvungen att göra en count men då måste man även göra en group by och då räknas ju gäst och ledig platserna som bara en plats fast det kan vara flera. SELECT COUNT (tt.fld_UId) AS AntalPlatserKvar, tu.fld_AntalPlatser FROM tbl_Turneringsresultat tt INNER JOIN tbl_Turnering tu ON tu.fld_TurneringsID = tt.fld_TurneringsID WHERE tu.fld_TurneringsID = '" & turnering & "'"' and tt.fld_UId != 0" Är ungefär vad jag tänkt men då klagar den på att jag inte gör någon group by. !=0 är innebär där att ledig har värdet 0, gäst har värdet 1 och övriga användare har UId från 2 och uppåt. Nån som vet nått bra lösning här?
  2. Tjaba, just det ja. Det var Having jag skulle köra med. Nu funkar det kalasbra. Tack för snabb hjälp Jenny
  3. Nu har jag kommit på hur jag fixar snittet, (SUM(tt.fld_VinstPoang) / COUNT(tt.fld_VinstPoang) As Snitt). Men jag har ytterligare problem och det är så att jag bara vill få med de som har spelat minst 3 turneringar, dvs de som har Antalspelade <=3 men om jag använder Antal spelade i WHERE vilkoret så vill det inte kännas av det. Hur gör jag för att använda en summa som vilkor?
  4. Hej Jag har en sql-fråga som jag skulle behöva hjälp med. Ska räkna ut statistik över resultat. Jag vill visa totatl poäng, antal gånger någon spelat och snittet (som jag vill sortera på, alltså högst snitt först). Hur ska jag göra detta? Har fått ordning på allt utom snittuträkningen och hur jag sedan ska sortera detta: SELECT SUM(tt.fld_VinstPoang) AS Totalpoang, COUNT(tt.fld_VinstPoang) AS Antalspelade, sp.fld_Smeknamn, tt.fld_UId FROM tbl_Turneringsresultat tt INNER JOIN tbl_Turnering tu ON tu.fld_TurneringsID = tt.fld_TurneringsID INNER JOIN tbl_User sp ON sp.fld_UId = tt.fld_UId WHERE tu.fld_Status = 'Rapporterad' GROUP BY tt.fld_UId ORDER BY Totalpoang Så ser den ut och den funkar men jag måste få in någon typ av division med ett alias och så måste jag kunna sortera på det. Sorteringen borde ju bara vara att göra liksom jag idag gör med Totalpoäng, men frågan är hur jag gör skriver divivionsionen?
  5. Tackar, det där ser mycket bra ut. Ska genast testa. Hör av mig när jag vet om det funkar eller inte
  6. Hej Jag skapar ett par dropdownboxar dynamsikt mha asp. Så beroende på hur många rader jag har i en viss tabell så skapas det olika många boxar. Jag vill nu göra en jämnförelse av värdet i två boxar i ett javascript men jag vet inte syntaxen för att nå en specifik dropdown. i asp-koden skapar jag boxarna med namnen: <select name=ddlAnmalda" & i & ..... <select name=ddlSamtliga" & i &...... Men hur når jag dem i javascriptet. Har tänkt något såhär: var i; i = 1; if (document.frmTurnering.ddlAnmalda(i).value = -1 AND document.frmTurnering.ddlSamtliga(i).value = -1 ) Men vad är det riktiga syntaxet
  7. Försöker även med ditt förslag att bara köra = men det funkat inte heller. En annan fråga som jag försöker med som inte funkar. Vill alltså få fram smeknamet på en spelare när jag vet en spelarrad. Detta får jag inte heller att funka. SELECT fld_Smeknamn FROM tbl_user WHERE fld_UId = (SELECT fld_UId FROM tbl_Turneringsresultat WHERE fld_TurneringsRad = 14) Får följande fel: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT fld_UId FROM tbl_Turneringsresultat WHERE fld_Turnerings Blir helt galen. Går det inte att göra en enkel subquery i MySql? Eller gör jag någon tankevurpa.
  8. Hej Beskriver först min databas för att förenkla Er förståelse för min fråga. Här nedan beskriver jag de tre tabeller med tabllenamn och de fält som är intressanta för mitt problem: tbl_user fld_UId = primärnyckel fld_Smeknamn tbl_Turneringsresultat fld_UId = Främmandenyckel från tbl_user fld_TurneringsID = Främmandenyckel från tbl_turnering tbl_Turnering fld_TurneringsID = Primärnyckel fld_AntalPlatser När jag skapar en turnering så skapar jag samtidigt ett antal poster i turneringsresultat beroende på antalet platser i fld_AntalPlatser. Dessa får ett default UId för en användare som finns i tbl_user. Så från början så har alla poster i tbl_Turneringsresultat för ett visst turneringsid samma användare (dvs default usern). Senare kan detta ändras till andra användare. Jag vill göra en listning över alla smeknamn som finns registrerade för en viss turnering och oavsett om det är dubletter i namnet så vill jag lista dem. Ett resultat som jag vill ha är tex: default user Ragge Snoddas default user default user default user PROBLEM 1 Jag trodde jag skulle få ut det med följande SQL-sats: SELECT fld_UId, fld_Smeknamn from tbl_user WHERE fld_UId IN (SELECT fld_UId FROM tbl_Turneringsresultat WHERE fld_TurneringsID = 14) men då får jag sql fel. delar jag upp frågorna och kör dem var för sig (fast skriver ett WHERE fld_UID=1) så funkar det, liksom om jag bara kör subqueryn. Varför funkar inte denna fråga PROBLEM 2 Om jag kör subqueryn och fyller i värden istället innanför parentesen så får jag sammaslagna träffar, dvs default user visas bara en gång. Jag vill ju ha den för alla träffar i subqueryn: SELECT fld_UId, fld_Smeknamn from tbl_user WHERE fld_UId IN('1','0','0') Någon som kan hjälpa mig?
  9. hm jag får fel när jag använder denna funktion. så här ser felet ut: Error Type: RegExpCollection.1 (0x80020009) invalid escape \ sequence functions.asp, line 9 anroppet ser ut så här: strNyhetsdatum = CropText("APA PA AAAPPPPPPAAAA",10,"apa.asp")
  10. tackar, hittade inte detta när jag letade men var väl för dålig på att leta. iaf precis det jag letade efter.
  11. Har en nyhetsfunktion på min asp sida. Nyheten lagaras i MySql databas via ett gränsnitt, jag vill att att på min sida ska stå nyhetsrubrik, inlagddatum och 60 tecken från nyheten men ej att sista ordet blir "avbrutet" på mitten utan är det för långt så ska det bort. Frågan om hur detta ska gå till. Med en funktion eller kan man göra det i den sql-fråga som hämtar upp nyheten (isf är frågan i fel forum, sorry). Någon som kan hjälpa mig med detta? Lite info om db. Tabell: tbl_nyheter Id för nyhet: fld_NyhetsId Datum då nyheten skapades: fld_Datum Nyhetens rubrik: fld_Rubik Nyhetens text: fld_Nyhetstext Det är alltså fld_Nyhetstext som jag vill plocka 60 tecken ifrån.
  12. Hehe, jag löste det själv. <!--#include VIRTUAL ="/includes/dbkoppling.asp" --> var lösningen. Alltsån inte gå ner i katalogstrukturer mha .. utan istället utgå från sitens root mha virtual.
  13. Har just nu en applikation där jag gjort connectionsträngen i varje asp fil. Vilket var mycket korkat men hade bråttom och nu får jag stå mitt kast när jag ska flytta den. Så jag tänker "bygga om" applikationen så att jag har en include fil där jag har en funktion som jag kallar på när jag måste göra en connection. Mitt problem är när jag ska kalla på denna include fil. Jag trodde att: <!--#include file="../includes/dbkoppling.asp"--> Skulle göra susen. Men tydligen kan man inte göra en include med .. för det är inte tillåtet. Går detta att komma runt. Vill inte ha en "statisk" sökväg till includen utan använda mig av .. för att gå i applikationen. Jag kommer att köra applikationen på två olika domäner som har identisk filstruktur.
  14. Supernice, nu funkar det skitbra. Tack
  15. Hej Funkade ganska bra förrtom att det blev följande: 2006-3-85:31:43 PM som gick att korrigera genom att lägg ett blanksteg mella dag och timme men den visar ju amerikansk tid med pm o am. vill ju att det står 17 istället
×
×
  • Skapa nytt...