Autor Zpráva
Koumák
Profil *
Ahoj,

mám dvě tabulky. Jedna obsahuje auta a druhá autobusy. Obě jsou prakticky stejné.

Auta
----
id
nazev
popis

Autobus
-------
id
nazev
popis

Potřebuju vybrat data z obou tabulek najednou setřízená podle názvu podle hledané fráze:

SELECT id,nazev,popis,"auto" as type FROM Auta WHERE nazev LIKE "%fraze" OR popis LIKE "%fraze"
UNION
SELECT id,nazev,popis,"auto" as type FROM Auta WHERE nazev LIKE "%fraze" OR popis LIKE "%fraze"
ORDER BY nazev

Teď chci ale zpřesnit vyhledávání a chci, aby nejprve byly nalezeny výsledky, kde je "fraze" obsažena ve sloupci nazev a až pak ty výsledky, kde je fráze v popisu. Vše musí být na jeden SQL příkaz. Napadá vás, jak to řešit?
Kajman_
Profil *
Možná takto nějak
select distinct id, nazev, popis, type from
(
SELECT 0 raz, id,nazev,popis,"auto" as type FROM Auta WHERE nazev LIKE "%fraze"
union all
SELECT 0 raz, id,nazev,popis,"autobus" as type FROM Autobus WHERE nazev LIKE "%fraze"
union all
SELECT 1 raz, id,nazev,popis,"auto" as type FROM Auta WHERE popis LIKE "%fraze"
union all
SELECT 1 raz, id,nazev,popis,"autobus" as type FROM Autobus WHERE popis LIKE "%fraze"
) t
order by raz, nazev

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0