Zadejte hledaný výraz...

Dle získaných ID vybrat z druhé tabulky hodnotu jednoho sloupce

Martin Adamec
verified
rating uzivatele
(13 hodnocení)
13. 9. 2012 00:59:50
Dobrý den,
mám tabulky:
- tags (id, name, group)
- article_tag (id, tag_id, article_id) ...zde se spojují tagy s článkem
potřebuju dostat do pole všechny tagy, které jsou s článkem a k tomu v tabulce tagsgroup="0" a pak by byl ještě druhý dotaz kde by akorát bylo group!="0"
... a nebo získat více rozměrné pole kde by bylo vždy
a já bych si pak to roztřídil co patří do group="0" a co group!="0"
chtěl bych to zoptimalizovat na co nejméně dotazů, s LEFT JOIN sice moc neumím, ale myslím si že by ji šlo nějak využít, bohužel nevím jak :-(
Doufám že jste mě pochopili :-)
13. 9. 2012 00:59:50
https://webtrh.cz/diskuse/dle-ziskanych-id-vybrat-z-druhe-tabulky-hodnotu-jednoho-sloupce#reply807610
Nejdřív získat data bez ohledu na group:
A pak v PHP:
// $data ... naplněná z SQL
$tagy1 = array(); // group == 0
$tagy2 = array(); // group != 0
foreach($data as $row) { if($row == 0) $tagy1[] = $row; else $tagy2[] = $row; }
13. 9. 2012 06:44:01
https://webtrh.cz/diskuse/dle-ziskanych-id-vybrat-z-druhe-tabulky-hodnotu-jednoho-sloupce#reply807609
Martin
verified
rating uzivatele
13. 9. 2012 06:49:22
Pokud tě chápu tak se to dá řešit jedním dotazem (pokud chceš spojit dotaz kde jednou vratíš tagy s group 0 a podruhe ruzné od 0 tak tu filtraci ani dělat nemusíš):
--vrátí všechny tagy pro daný článek
Select t.id, t.group from article_tag at, tags t where at.tag_id = t.id and at.article_id = xxx order by t.group;
--vratí všechny články který obsahují daný tag (toto je asi navíc - ale třeba se ti to hodí)
Select at.article_id, t.group from article_tag at, tags t where at.tag_id = t.id and t.id = xxx order by t.group;
13. 9. 2012 06:49:22
https://webtrh.cz/diskuse/dle-ziskanych-id-vybrat-z-druhe-tabulky-hodnotu-jednoho-sloupce#reply807608
Martin Adamec
verified
rating uzivatele
(13 hodnocení)
13. 9. 2012 16:45:08
Napsal oham;843841
Nejdřív získat data bez ohledu na group:......
Díky moc, jak vidím blbě jsem chápal klauzuli LEFT JOIN :-)
13. 9. 2012 16:45:08
https://webtrh.cz/diskuse/dle-ziskanych-id-vybrat-z-druhe-tabulky-hodnotu-jednoho-sloupce#reply807607
Pro odpověď se přihlašte.
Přihlásit