Autor Zpráva
souki
Profil
Potřeboval bych smazat všechny kategorie, ve kterých nejsou žádné články. Tzn mazat z jedné tabulky pomocí podmínky z druhé. Tuším že na to bude bude UNION nebo dokonce JOIN, ale nějak se k tomu nemůžu nikde dohrabat =(
A úplně se stydím, že na tak základní věc nemůžu přijít :-[
BaTeCzKo
Profil
Přes php by to šlo, ne? Smazat prázdné tabulky.
souki
Profil
uršitě šlo... projít cyklem všechny a vždycky najít ty ke kterým neexistuje článek... ale určitě je na to i nějaké čisté řešení
Kajman_
Profil *
zkusil bych
delete from kategorie k where k.id_kat not in (select id_kat from clanky)

případně
delete from k using kategorie k left join clanky c on k.id_kat = c.id_kat where c.id_kat is null
pro starší verze bez vnořených dotazů

Bez záruky ;-)
souki
Profil
Kajman_
když jsme naposled zkoušel použít left join v delete, tak to skončilo chybou.. ale to první vypadá povědomě... dík ;) zkusim a zapátrám =)
Joker
Profil *
Kdysi jsem se snažil tohle udělat a dobral se přesně k tomu co píše Kajman_, tj:

delete from k using kategorie k left join clanky c on k.id_kat = c.id_kat where c.id_kat is null
souki
Profil
takže když se to rozdělí na části tak by to mělo fungovat takhle?

delete from k using kategorie k (left join clanky c using(kat_id) ) where c.id_kat is null

jinými slovy zde klíčové slovo USING dostává trochu jiné využití? Díky moc, hned to integruju =)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0