Autor | Zpráva | ||
---|---|---|---|
souki Profil |
#1 · Zasláno: 4. 8. 2006, 14:50:35
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 |
#2 · Zasláno: 4. 8. 2006, 15:32:21
Přes php by to šlo, ne? Smazat prázdné tabulky.
|
||
souki Profil |
#3 · Zasláno: 4. 8. 2006, 15:33:58
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 * |
#4 · Zasláno: 4. 8. 2006, 15:35:11
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 |
#5 · Zasláno: 4. 8. 2006, 15:40:05
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 * |
#6 · Zasláno: 4. 8. 2006, 15:43:11
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 |
#7 · Zasláno: 4. 8. 2006, 15:46:40
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 =) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0