risultati query di unione-display nelle query di ordine sono scritti
-
28-09-2019 - |
Domanda
esempio -
select * from discussion where title like '%india%'
UNION
select * from discussion where title like '%Australia%'
Si mostra i risultati in ordine di ID di discussione miscelazione sia typse dei risultati
Voglio visualizzare India i risultati del primo e poi i risultati dell'Australia e smusso utilizzare l'opzione tutto come ho bisogno di rimuovere le righe duplicate anche.
Cosa si deve fare?
Soluzione
Si potrebbe aggiungere una colonna di ordine sul
select *, 1 as ORD from discussion where title like '%india%'
UNION
select *, 2 as ORD from discussion where title like '%Australia%'
order by ORD
Modifica - 29/11/2010
A causa del duplicato con il problema ORD Stavo pensando a una, forse, modo più elegante per raggiungere tale scopo
Select * from discussion
where title like '%india%' or title like '%Australia%'
order by (case when title like '%india%'then 1 else 2 end)
Altri suggerimenti
Prova:
SELECT * FROM
(
select 1 OrderNo, d.* from discussion d where title like '%india%'
UNION
select 2 OrderNo, d.* from discussion d where title like '%Australia%'
)
ORder by OrderNo
select * from
(
select * from discussion where title like '%india%'
UNION
select * from discussion where title like '%Australia%'
)
ORDER BY title DESC
;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow