Zadejte hledaný výraz...

Pomoct se SELECTem, tři tabulky

MD1
verified
rating uzivatele
11. 10. 2012 15:53:56
Ahoj, zasekl jsem se nad poměrně jednoduchým selectem.
Mám tabulky článek a tag, které jsou v relaci N:M (článek_má_tag), a potřebuji vypsat seznam tagů a u toho počet článku s tímto tagem i u tagů, který není doposud u žádného článku.
članek (članek_id, nazev)
tag (tag_id, nazev)
článek_má_tag (članek_id, tag_id)
výstup:
tag_id | nazev | počet_článku_s_tímto_tagem
---
1 | zahraniřní | 5
2 | domácí | 0
3 | novinky | 2
...
nevím jestli na to jít přes join, složený select či něco podobného :/
11. 10. 2012 15:53:56
https://webtrh.cz/diskuse/pomoct-se-selectem-tri-tabulky#reply818498
takatom
verified
rating uzivatele
(2 hodnocení)
11. 10. 2012 16:02:33
select tag_id,nazev,(select count(1) from článek_má_tag ct where ct.tag_id=tag.tag_id)as pocet from tag
11. 10. 2012 16:02:33
https://webtrh.cz/diskuse/pomoct-se-selectem-tri-tabulky#reply818497
Ales Hruby
verified
rating uzivatele
11. 10. 2012 16:02:38
urcite join bych ti to sem napsal jen nachapu ten vztach tabulek mezi sebou , tak me ji popis lepe hod sem tabulky popripade sql dotazy hodim si je na local a napisu ti ten select
ps. doufam ze nazvy tabulek a sloupcu jsou bez interpunkce :-D
11. 10. 2012 16:02:38
https://webtrh.cz/diskuse/pomoct-se-selectem-tri-tabulky#reply818496
MD1
verified
rating uzivatele
11. 10. 2012 16:16:07
takatom: pěkně :) funguje to na 1čku! I ta formulace se mi líbí. Elegantní.
---------- Příspěvek doplněn 13.10.2012 v 13:41 ----------
Jak se tak dívám na ten vnořený select, napadá mě ještě jedna věc - dá se vyselectovat seznam tagu a následně vložit do jednoho sloupce jako řetězec oddělený např. čárkami?
řekněme že:
článek(id, název)
1 | Názeev1
tag(id, název)
1 | Zahraniční
2 | Domácí
článek_má_tag (članek_id, tag_id)
1 | 1
1 | 2
A by byl výstup (id_članek, název, kategorie)
1 | Názeev1 | Zahraniční, Domácí
11. 10. 2012 16:16:07
https://webtrh.cz/diskuse/pomoct-se-selectem-tri-tabulky#reply818495
MD1
verified
rating uzivatele
14. 10. 2012 21:37:32
takatom: pěkně :) funguje to na 1čku! I ta formulace se mi líbí. Elegantní.
---------- Příspěvek doplněn 13.10.2012 v 13:41 ----------
Jak se tak dívám na ten vnořený select, napadá mě ještě jedna věc - dá se vyselectovat seznam tagu a následně vložit do jednoho sloupce jako řetězec oddělený např. čárkami?
řekněme že:
článek(id, název)
1 | Názeev1
tag(id, název)
1 | Zahraniční
2 | Domácí
článek_má_tag (članek_id, tag_id)
1 | 1
1 | 2
A by byl výstup (id_članek, název, kategorie)
1 | Názeev1 | Zahraniční, Domácí
14. 10. 2012 21:37:32
https://webtrh.cz/diskuse/pomoct-se-selectem-tri-tabulky#reply818494
takatom
verified
rating uzivatele
(2 hodnocení)
15. 10. 2012 09:51:12
http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat
GROUP_CONCAT( expr ] )
15. 10. 2012 09:51:12
https://webtrh.cz/diskuse/pomoct-se-selectem-tri-tabulky#reply818493
Pro odpověď se přihlašte.
Přihlásit