/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Hjælp med avanceret MySQL kald...
Fra : Magnus


Dato : 16-02-05 16:16

Jeg vil have en liste over spillere som har været med i nogle kampe med den
med flest kampe øverst og osv.
I en tabel har jeg de spillere som er med fra start og en anden tabel er med
dem som indskiftes og herunder har jeg et db kald som henter antallet af
gange spilleren med id=21 er med fra start og indskiftet.
Til sidst har laver jeg en liste over de spillere som har været med.

Så er mit spørgsmål: kan jeg ikke integrere den samlede værdi af de to
første MySQL opslag i den sidste således jeg får (SQL1+SQL2) AS Kampe og
derefter kan sortere efter Kampe?

Er det noget som kan lade sig gøre?


/Magnus


'ANTAL GANGE I STARTOPSTILLING:
SQL1="SELECT COUNT(reportid) AS AntalS FROM Kampreport WHERE startop LIKE
'%|21|%' AND reportid IN ('" & varRef & "')"
Set RS = conn.execute(SQL1)
Response.write "Start: " & RS("AntalS") & "<p>"

'ANTAL GANGE INDESKIFTET:
SQL2 = "SELECT COUNT(reportid2) AS AntalI FROM Kampreportforlob WHERE
action='21' AND kampid IN ('" & varRef & "')"
Set RS = conn.execute(SQL2)
Response.write "Ind: " & RS("AntalI") & "<p>"


'SPILLERE:
pSQL="SELECT * FROM Profiler WHERE position<>'T' AND id IN ('" & varId &
"') ORDER BY nr"
Set pRS = conn.execute(pSQL)

DO WHILE NOT pRS.EOF
Response.write "" & pRS("id") & " - " & pRS("nr") & " - " &
pRS("fornavn") & " " & pRS("efternavn") & " = " & pRS("id") & "<br>"
pRS.MoveNext
LOOP



 
 
Kristian Damm Jensen (17-02-2005)
Kommentar
Fra : Kristian Damm Jensen


Dato : 17-02-05 11:07


Magnus wrote:
> Jeg vil have en liste over spillere som har været med i nogle kampe
med den
> med flest kampe øverst og osv.
> I en tabel har jeg de spillere som er med fra start og en anden tabel
er med
> dem som indskiftes og herunder har jeg et db kald som henter antallet
af
> gange spilleren med id=21 er med fra start og indskiftet.
> Til sidst har laver jeg en liste over de spillere som har været med.
>
> Så er mit spørgsmål: kan jeg ikke integrere den samlede værdi af
de to
> første MySQL opslag i den sidste således jeg får (SQL1+SQL2) AS
Kampe og
> derefter kan sortere efter Kampe?
>
> Er det noget som kan lade sig gøre?
>
>
> /Magnus
>
>
> 'ANTAL GANGE I STARTOPSTILLING:
> SQL1="SELECT COUNT(reportid) AS AntalS FROM Kampreport WHERE
startop LIKE
> '%|21|%' AND reportid IN ('" & varRef & "')"
> Set RS = conn.execute(SQL1)
> Response.write "Start: " & RS("AntalS") & "<p>"
>
> 'ANTAL GANGE INDESKIFTET:
> SQL2 = "SELECT COUNT(reportid2) AS AntalI FROM Kampreportforlob
WHERE
> action='21' AND kampid IN ('" & varRef & "')"
> Set RS = conn.execute(SQL2)
> Response.write "Ind: " & RS("AntalI") & "<p>"
>
>
> 'SPILLERE:
> pSQL="SELECT * FROM Profiler WHERE position<>'T' AND id IN ('" &
varId &
> "') ORDER BY nr"
> Set pRS = conn.execute(pSQL)
>
> DO WHILE NOT pRS.EOF
> Response.write "" & pRS("id") & " - " & pRS("nr") & " - " &
> pRS("fornavn") & " " & pRS("efternavn") & " = " & pRS("id") & "<br>"
> pRS.MoveNext
> LOOP

Eftersom dine where-betingelser i de to første selects er forskellige,
kan de ikke umiddelbart kombineres. De kan formodentlig fuske dig
igennem med et union (evt. union all), men jeg har svært ved at se
pointen i at samle data, der er forskellige i én select.

Og vil du så i øvrigt ikke være rar, at holde dig til at poste sql
frem for alt det andet, der intet har med sql at gøre. Det forvirrer,
og gør sql-en vanskeligere at læse.

VH
Kristian


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste