Union con order by
Consideriamo di avere la tabella notizie strutturata nel seguente modo:
Notizie:
idNotizia | titolo | notizia | dataModifica
e di effettuare una query di per cercare le notizie prima sul campo titolo e poi sul campo notizia, ordinata per dataModifica DESC utilizzando la UNION, si dovrà procedere nel seguente modo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
SELECT n.*
FROM
(
SELECT n.*
FROM notizie n
WHERE LOWER(n.titolo) LIKE '%<ricerca>%'
UNION ALL
SELECT n.*
FROM notizie n
WHERE LOWER(n.notizia) LIKE '%<ricerca>%'
) n
ORDER BY n.dataModifica DESC;
|
dove <ricerca> sarà il nostro campo di ricerca e <n> sarà il nome da dare al risultante della union. L'ordinamento sarà fatto sul campo dataModifica