Hur gör jag för att köra en order by när sql-satsen innehåller en union? Kan du inte göra en enda fråga utan UNION? Fel av mig, sql-satsen ska vara: Ok... SELECT * FROM Kan en post uppfylla "bacth = 1" och "new IN (2, 3)"?sql fråga
Ex:
SELECT kod
FROM Kod1 WHERE kamp = 103 AND active = 1 AND new = 1
UNION
SELECT kod
FROM Kod1
WHERE kamp = 103 AND active = 1 AND new IN (2, 3)
Jag vill alltså att alla värden som finns i sql-satsen över om union ska komma första när jag loppar igenom recordsetet. Problemet är att det finns poster av typer new = 1 inlagda efter tex new = 2Sv: sql fråga
SELECT kod
FROM Kod1
WHERE kamp = 103 AND active = 1 AND new IN (1,2,3)
ORDER BY new
Sv:sql fråga
Ex:
SELECT kod
FROM Kod1 WHERE kamp = 103 AND active = 1 AND bacth = 1
UNION
SELECT kod
FROM Kod1
WHERE kamp = 103 AND active = 1 AND new IN (2, 3)
Den övre sql-satsen har andra sökvilkor i where satsen.Sv: sql fråga
Är inte säker på detta eftersom jag aldrig testat, men jag tror du kan sortera frågorna för sig.
Borde inte följande göra som du vill, om jag inte missuppfattat.
SELECT kod
FROM Kod1
WHERE kamp = 103 AND active = 1 AND bacth = 1
UNION
SELECT kod
FROM Kod1
WHERE kamp = 103 AND active = 1 AND new IN (2, 3)
ORDER BY new
Sv:sql fråga
(
SELECT kod
FROM Kod1 WHERE kamp = 103 AND active = 1 AND bacth = 1
UNION
SELECT kod
FROM Kod1
WHERE kamp = 103 AND active = 1 AND new IN (2, 3)
) x
ORDER BY kodSv: sql fråga
*Skall det i så fall visas som två poster?
SELECT kod
FROM Kod1 WHERE kamp = 103 AND active = 1 AND ((bacth = 1) OR (new IN (2, 3)) )
ORDER BY (bacth = 1)
Borde väl fungera om du bar vill ha med poster en gång. Då (bacth = 1) retunerar -1 om det är sant. Då bör alla poster som uppfyller detta vilkor komma först.