Jednodušší MySQL dotaz
Jednodušší dotaz, bohužel nefunguje tak, jak by měl.
Mám 2. tabulky.
Jedna obsahuje VŠECHNY emaily(address_book) a druhá jen některé emaily (jejich id v address_book). Druhá tabulka se jmenuje skupina_obsah.
Skupina_obsah má tyto sloupce:
A já chci vytáhnout VŠECHNY emaily z address_book, přičemž:
ty, které mají konkrétní id_skupiny v tabulce skupina_obsah a zároveň jejich id_adresy je obsaženo v tabulce address_book.id budou mít sloupce checkbox_check nenulový.
Zkouším to takto:
SELECT entry_state, address_book_id AS address_book_id, entry_company AS entry_company, p.id_adresy, p.id_skupiny checkbox_checked
FROM address_book
LEFT JOIN skupina_obsah p ON p.id_adresy = address_book_id
WHERE entry_state NOT LIKE ' '
Toto zobrazuje v sloupci checkbox_check všechny obsažené ID, jako nenulové.
A já právě potřebuji vědět, kam definovat tu podmínku, aby se checkbox_check zobrazovalo jenom pro konkrétní hodnotu id_skupiny.
Nemělo by to být složité.... ale.....
Stejný dotaz jako minule.
Pokud chces z jedne tabulky vsechny zaznamy bez ohledu na to, zda existuji v druhe tabulce, nemuzes pouzit vnitrni spojeni INNER JOIN, JOIN, LEFT JOIN ale vnejsi LEFT OUTER JOIN
a pak testovat hodnotu z vnejsi tabulky, zda je null (zaznam neexistuje)
tu ta musim trochu poopravit. Rozdiel medzi LEFT JOIN a LEFT OUTER JOIN prakticky neexistuje. - len pre poriadok, aby sme nesirili mylne info.
za predpokladu, ze v tabulke skupina_obsah sa dane id_adresy moze nachadzat maximalne 1krat.
Děkuji. Já jsem to vyřešil nakonec částečně na aplikační vrstvě a komplikace je právě v tom, že skupina_obsah sa dane id_adresy moze nachadzat vícekrát.
Strašně mě žene čas, takže to nechám takto, a s úpravou pro vícenásobné položky si nelamte hlavu.
no to je potom ten isty pripad co predtym:
pripadne mozes ponechat ten select co som napisal a priamo za slovo SELECT das este DISTINCT