Autor | Zpráva | ||
---|---|---|---|
Krepala Profil * |
#1 · Zasláno: 14. 7. 2016, 15:59:49
Ahoj. Mám dvě tabulky.
- Každý záznam v tabulce1 se váže k nějaké položce (zase jiná tabulka, ale k problému se neváže) a každá položka těch záznamů může mít neomezeně. - Pro každý záznam v tabulce1 existuje X záznamů v tabulce2. A nyní, pokud mám ID položky, tak dostanu řádky z tabulky1 a pro každý z nich dostanu ještě řádky z tabulky2. Jakým SQL dotazem lze získat ID řádků z tabulky2, které jsou úplně u všech záznamů z tabulky1, když mám na začátku ID položky? Struktura tabulek pro názornost: Tabulka1: id | id_polozky | name Tabulka2: id | id_tabulka1 | url Zkoušel jsem přes join, ale nikdy to nebyla moje parketa a k výsledku jsem se nedobral. Díky. |
||
Kajman Profil |
#2 · Zasláno: 14. 7. 2016, 16:32:26
Možná něco takového:
SELECT propojenych.id FROM ( SELECT Count(*) polozek FROM tabulka1 WHERE from id_polozky=42) vsech JOIN ( SELECT t2.id, count(DISTINCT t2.id_tabulka1) polozek FROM tabulka1 t1 JOIN tabulka2 t2 ON t1.id=t2.id_tabulka1 WHERE t1.id_polozky=42 GROUP BY t2.id) propojenych ON vsech.polozek=propojenych.polozek |
||
Krepala Profil * |
#3 · Zasláno: 15. 7. 2016, 01:01:41
Děkuji
|
||
Časová prodleva: 8 let
|
0