UNION résultats Query-affichage dans les requêtes de commande sont écrits
-
28-09-2019 - |
Question
exemple -
select * from discussion where title like '%india%'
UNION
select * from discussion where title like '%Australia%'
Il me montre les résultats afin d'ID de discussion à la fois le mélange typse des résultats
Je veux afficher les résultats Inde d'abord, puis les résultats de l'Australie et je ne peux pas utiliser l'option que je dois ALl pour supprimer des lignes en double aussi.
Que faut-il faire?
La solution
Vous pouvez ajouter une colonne à l'ordre sur
select *, 1 as ORD from discussion where title like '%india%'
UNION
select *, 2 as ORD from discussion where title like '%Australia%'
order by ORD
EDIT - 29/11/2010
En raison du double avec le problème ORD je pensais à un, peut-être, plus élégante façon de ce ACHIVE
Select * from discussion
where title like '%india%' or title like '%Australia%'
order by (case when title like '%india%'then 1 else 2 end)
Autres conseils
Essayez:
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
;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow