Autor Zpráva
RomikTronik
Profil *
Dobrý den,

mám referenční tabulku. např. ref_table(id_prvni, id_druhy) a potřebuju napsat dotaz, který se mi špatně popisuje, tak raději vysvětlím na příkladu.

id_prvni | id_druhy
1 | 10
1 | 20
1 | 30
2 | 10
2 | 20
3 | 20
3 | 30

a potřebuju vybrat ty id_prvni, které jsou na řádku s id_druhy 20 a současně 30
Výsledek by měl být v tomto přípáďe

vysledek
1
3
paul27
Profil *
Udělal bych dvakrát inner join na zmíněnou referenční tabulku:

select distinct a.id_prvni from a inner join (select id_prvni from a where id_druhy=20) t on a.id_prvni=t.id_prvni inner join
(select id_prvni from a where id_druhy=30) tt on a.id_prvni=tt.id_prvni
Kajman_
Profil *
select id_prvni from tabulka
where id_druhy in (20,30)
group by id_prvni 
having count(distinct id_druhy)=2 -- nutno menit s poctem cisel v zavorce

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0