/ 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
Sortering på tværs af tabeller
Fra : Kenneth Brun Nielsen


Dato : 13-04-02 23:31

Hejsa!

I forbindelse med en fodboldhjemmeside har jeg bl.a. lavet 3 tabeller:
"udskiftninger", "mål" og "advarsler/udvisninger" i en MySQL-db. I de tre
tabeller er der naturligvis et kampID, og derudover bl.a. minuttal.

Jeg vil gerne have at man på siden for den enkelte kamp kan se
hændelsesforløbet kronologisk. Dvs hele bunken af data fra de ovenstående
tabeller skal sorteres på minuttal. Kan jeg gøre det i MySQL?

På forhånd tak!

Kenneth



 
 
Barnabas (15-04-2002)
Kommentar
Fra : Barnabas


Dato : 15-04-02 07:29

select a.kol1,a.kol2,b.kol1
from tab1 a, tab1 b
where
a.kampid = b.kampid
order by b.minuttal desc

Håber dette hjælper

Kenneth Brun Nielsen (15-04-2002)
Kommentar
Fra : Kenneth Brun Nielsen


Dato : 15-04-02 13:53


"Barnabas" <barnabasdk@yahoo.com> skrev i en meddelelse
news:3cba72d5.987890@news.sonofon.dk...
> select a.kol1,a.kol2,b.kol1
> from tab1 a, tab1 b
> where
> a.kampid = b.kampid
> order by b.minuttal desc
>
> Håber dette hjælper

Det tror jeg ikke! Med ovenstående kommando bliver tabellerne vel sorteret
enkeltvis (eller? - jeg er ret ny i faget!) Jeg vil gerne have sorteret
samtlige tabeller samtidigt, så jeg eksempelvis kan få flg. hændelsesforløb:

minut hændelse
12 Udvisning til Jens Hansen
15 1-0: Scoring af Peter Hansen
36 Udskiftning. Ind: Hans Hansen. Ud: Peter Hansen
68 2-0: Scoring af Hans Hansen
87 Advarsel til Hans Hansen

Det er muligt, jeg er forkert på den mht. din SQL-kommando, men umiddelbart
vil jeg ikke mene den er tilstrækkelig. Specielt din from-linje er noget nyt
for mig. Du vælger tabellen tab1, og benævner den så hhv. a og b - eller
hvordan skal jeg forstå den?

Tak for svaret!

Kenneth

PS: Jeg har faktisk i ventetiden lavet en funktion i PHP, der kan klare
sorteringen for mig. Resultatet kan ses her:
http://www.pbk.dk/fodbold/matchinfo.php?id=1 , men under alle omstændigheder
vil det være lidt mere elegant, at foretage sorteringen i SQL.





Nis Jorgensen (15-04-2002)
Kommentar
Fra : Nis Jorgensen


Dato : 15-04-02 14:25

On Sun, 14 Apr 2002 00:30:43 +0200, "Kenneth Brun Nielsen"
<kenneth@pbk.dk> wrote:

>
>I forbindelse med en fodboldhjemmeside har jeg bl.a. lavet 3 tabeller:
>"udskiftninger", "mål" og "advarsler/udvisninger" i en MySQL-db. I de tre
>tabeller er der naturligvis et kampID, og derudover bl.a. minuttal.
>
>Jeg vil gerne have at man på siden for den enkelte kamp kan se
>hændelsesforløbet kronologisk. Dvs hele bunken af data fra de ovenstående
>tabeller skal sorteres på minuttal. Kan jeg gøre det i MySQL?

Du skal nok kigge paa en UNION:

SELECT minuttal, ("Udvisning af " . Spiller) as haendelse
FROM Udvisninger
WHERE KampID = 42

UNION

SELECT minuttal, ("Scoring af " . Spiller . " for " . hold) as
haendelse
FROM Scoringer
WHERE KampID = 42

osv ...
--
Nis Jorgensen
Amsterdam

Please include only relevant quotes, and reply below the quoted text. Thanks

Kenneth Brun Nielsen (15-04-2002)
Kommentar
Fra : Kenneth Brun Nielsen


Dato : 15-04-02 16:14


"Nis Jorgensen" <nis@dkik.dk> skrev i en meddelelse
news:8tklbu0vve3q18ktc5u7k3mdsg7c0f4co3@4ax.com...
> On Sun, 14 Apr 2002 00:30:43 +0200, "Kenneth Brun Nielsen"
> <kenneth@pbk.dk> wrote:
>
> >
> >I forbindelse med en fodboldhjemmeside har jeg bl.a. lavet 3 tabeller:
> >"udskiftninger", "mål" og "advarsler/udvisninger" i en MySQL-db. I de tre
> >tabeller er der naturligvis et kampID, og derudover bl.a. minuttal.
> >
> >Jeg vil gerne have at man på siden for den enkelte kamp kan se
> >hændelsesforløbet kronologisk. Dvs hele bunken af data fra de ovenstående
> >tabeller skal sorteres på minuttal. Kan jeg gøre det i MySQL?
>
> Du skal nok kigge paa en UNION:
>
> SELECT minuttal, ("Udvisning af " . Spiller) as haendelse
> FROM Udvisninger
> WHERE KampID = 42
>
> UNION
>
> SELECT minuttal, ("Scoring af " . Spiller . " for " . hold) as
> haendelse
> FROM Scoringer
> WHERE KampID = 42
>
> osv ...

Aha! Det lyder spændende. Jeg vil prøve mig frem ved lejlighed! Tak for
svaret

Kenneth



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste