Autor | Zpráva | ||
---|---|---|---|
teodor Profil * |
#1 · Zasláno: 24. 7. 2012, 18:59:19
Potřebuju poradit. Potřeboval bych vypsat všechny záznamy, kde a_tabulka_btabulka má nulovou hodnotu. Nevím jak na to. Zkoušel jsem to takto:
SELECT atabulka_btabulka, btabulka_id FROM atabulka LEFT JOIN btabulka ON btabulka_id = atabulka_btabulka WHERE btabulka_id <> atabulka_btabulka Ale to nefunguje. Zkoušel jsem to s null nebo != ale i tak se nic nezobrazí. Naopak když tam dám rovnítko, tak mi to ty záznamy zobrazí. |
||
Tori Profil |
#2 · Zasláno: 24. 7. 2012, 19:12:43
teodor:
„všechny záznamy, kde a_tabulka_btabulka má nulovou hodnotu“ A jaké řádky se k tomu mají najít z tabulky B? To ID může být nulové? |
||
teodor Profil * |
#3 · Zasláno: 24. 7. 2012, 19:19:20
Je to myšleno takto: vypiš všechny záznamy z atabulka, najdi záznamy kde btabulka_id se rovná atabulka_btabulka a tyto vynechej.
|
||
Tori Profil |
#4 · Zasláno: 24. 7. 2012, 19:28:57
Což prakticky znamená, že z btabulky se nezobrazí žádné řádky. Jestli chcete najít řádky z btabulky, které nemají žádné související řádky v atabulce, tak musí být tabulky zapsané v opačném pořadí:
select * from btabulka where not exists (select * from atabulka where btabulka_id = atabulka_btabulka) |
||
teodor Profil * |
#5 · Zasláno: 24. 7. 2012, 19:30:04 · Upravil/a: teodor
Tori:
Z tabulky b se má najít informace o řádku tabulky a a tu vynechat. id je vždy nenulové. jo zkusím to, díky. |
||
Časová prodleva: 11 let
|
0