Autor | Zpráva | ||
---|---|---|---|
Koumák Profil * |
#1 · Zasláno: 6. 1. 2009, 19:57:40
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 * |
#2 · Zasláno: 6. 1. 2009, 21:48:02
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 |
||
Časová prodleva: 15 let
|
0