Ahojte,
pomocou joinu vyberam z tabuliek data nasledovne -
Kód:
SELECT t1.id,count(t2.id) FROM t1 JOIN t2 ON t1.id = t2.id GROUP BY t2.id;
pricom t2.id nie je unikatne (nevedelo ma napadnut nic ine ako id, tak asi to je neprehladne)
To by bolo ok, ale ak je count(t2.id) nulove, tak mi zaznam nevypise. ako dosiahnem, aby mi vypisalo iba tie zaznamy, ktore su rovne nule? teda chcem vypisat zaznamy z t1, ktore nemaju nadvezujuce zaznamy v t2
dakujem (asi sa vyjadrujem ako hotentot, ale malo spanku robi svoje
)
pre upresnenie. mam tabulky
t1Kód:
| id |
________
| 1 |
| 2 |
t2Kód:
| id |
________
| 1 |
| 1 |
| 1 |
Moj dotaz vrati
Kód:
| id | count(t2.id) |
_______________________
| 1 | 3 |
a aj potrebujem vytvorit dotaz, ktory mi vrati
Kód:
| id | count(t2.id) |
_______________________
| 2 | 0 |
/EDIT:
Zrejme som to
vyriesil pomocou
Kód:
SELECT t1.id FROM t1 WHERE t1.id NOT IN (SELECT t2.id FROM t2 GROUP BY t2.id)
existuje aj lepsie riesenie?