Problemer med UNION

Tags:    databaser

Hej. Jeg har et problem med UNION, enter gør jeg noget helt forkert, ellers har jeg bare ikke forstået hvordan UNION fungerer.

Problemet jeg vil have løst er følgende.

Jeg har 1 tabel som bl.a. indeholder felterne rating og stemmer (det er en del af et karakter-system) hvor rating er karakteren og stemmer er antallet af afgivede stemmer.

Jeg vil så vælge alle poster i tabellen. Først vil jeg have alle poster hvor stemmer er over eller lig 3. Disse skal sorteres efter rating. Derefter (i samme resultat-sæt) vil jeg vælge alle poster hvor stemmer er under 3, disse sorterer jeg også efter rating.

Det gør jeg ved hjælp af UNION

Fold kodeboks ind/udSQL kode 


Problemet er bare det ikke virker. Hver for sig virker queries'ne som de skal. Men når jeg bruger dem med UNION går det helt galt.

Her er et screenshot som viser fejlen

http://img181.imageshack.us/my.php?image=unionwi5.png

Som I kan se tager den dem der har over 3 stemmer først, og under 3 stemmer bagefter. Men sorteringen er helt forkert.

Hvad gør jeg galt?



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Ved lidt research fandt jeg ud af at man ikke kan bruge order, på inner selects i unions, det vil altid være den sidste order by der er gældende.
Anyway, du kan tilføje en ekstra værdi som du så kan sortere efter også.

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 24.09.2008 21:16 af Bruger #10216
Hvad skal være forskellen på din union og en alm. select?

Fold kodeboks ind/udKode 


Men ellers kan du måske komme udenom det ved noget alias...

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 24.09.2008 20:33 af Bruger #10216
Hvad skal være forskellen på din union og en alm. select?

Fold kodeboks ind/udKode 


Men ellers kan du måske komme udenom det ved noget alias...

Fold kodeboks ind/udKode 


Det gav det samme resultat.



Det virkede perfekt. Takker.



t