Autor Zpráva
Icka
Profil *
Prosím poraďte jak vypíšu položky když mám 2 tabulky, z nichž jedna (tabulka A) je klasicky tabulka s uživatelemama a jejich id a v druhé (tabulka B) mám sloupce id a id_uzivatele.
No a potřeboval bych z tabulky B vypsat všechny id u kterejch platí to, že id_uzivatele již v tabulce A není. Prostě potřebuju aby se mi z tabulky B odstranily záznamy od neexistujících uživatelů, pač jsou už nepotřebný...
Icka
Profil *
Ny myslím, že by to mohlo bejt něco takovýho:

select id from tabulka_b where id_uzivatel != (select id from tabulka_a)
Kajman_
Profil *
select id from tabulka_b where id_uzivatel not in (select id from tabulka_a)

nebo pro starší verze

select id from tabulka_b left join tabulka_a on (tabulka_b.id_uzivatel=tabulka_a.id) where itabulka_a.id is null

Na takovéhle automatické promazávání jsou použítelné cizí klíče, ale ty mají lepší db nebo snad i mysql od páté verze.
Icka
Profil *
Tak ani jedna mi nefunguje... tady přikládám moje dotazy:

1. select id_posta from chat_posta left join chat_uzivatele on id = komu where komu not in id
2. select id_posta from chat_posta left join chat_posta on (chat_posta.komu = chat_uzivatele.id) where chat_uzivatele.id is null

Kde mám chybu??
Kajman_
Profil *
Ten první je naprostý nesmysl. Ten druhý má dvakrát tu samou tabulku (pokud to tak má být, tak použít alias).
Icka
Profil *
Jojo...
Že jsem připojoval tutéž tabulku je nesmysl, coč jsem přehlídl. Opravil jsem to a vypadá to, že to funguje.. Jen to ještě testnu. Díky díky
Toto téma je uzamčeno. Odpověď nelze zaslat.