Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL dotaz

Dobry den, potrebuji vypsat z tabulky viz nize jen vozidla, ktera maji pouze typ A, v mem pripade bude vypis jen auto12

vozidlo typ
kolo11 A
kolo11 B
kolo11 A
auto12 A
auto12 A
auto12 A

Předmět Autor Datum
select t1.vozidlo from tabulka t1 where not exists (select * from tabulka t2 where t1.vozidlo = t2.v…
Wikan 31.05.2017 17:38
Wikan
V Tvojom prípade má typ A aj vozidlo "kolo11"... Asi by to chcelo upresniť, že vozidlo musí obsahova…
pme 31.05.2017 20:27
pme
kdyz tam pridas distinct, budes to mit jen jednou SELECT distinct * FROM tablename where vozidlo li…
Jan Fiala 31.05.2017 21:13
Jan Fiala
Ale kolo11 ma aj B, cize len vozidla, ktore maju iba "A". Takze wikan mu dal spravne riesenie (ten p…
wam_Spider007 31.05.2017 22:54
wam_Spider007
Ten druhy pocita s tim, ze vyfiltrujes jen zaznamy podle textu. Vsak to take PME psal. Ale jinak mas…
Jan Fiala 01.06.2017 06:34
Jan Fiala
Jsem si skoro jistý, že jsem tam ten left join měl. Netuším, proč jsem ho pak smazal ::)
Wikan 01.06.2017 08:13
Wikan
Kolo je taky vozidlo, takze proc by mel upresnovat auto?
Idnes 01.06.2017 10:16
Idnes
To musí vedieť on, čo vlastne chce... v mem pripade bude vypis jen auto12
pme 01.06.2017 18:38
pme
kolo11 nesplnuje podminku "ktera maji pouze typ A", takze vi co chce poslední
Idnes 02.06.2017 08:09
Idnes
select t1.vozidlo from tabulka t1
where not exists (select * from tabulka t2 where t1.vozidlo = t2.vozidlo and typ != 'A')
group by t1.vozidlo

nebo

select t1.vozidlo from tabulka t1
join tabulka t2 on t1.vozidlo = t2.vozidlo and t2.typ != 'A'
where t2.typ is null
group by t1.vozidlo

SQL už jsem pár let nepsal, tak to snad bude funkční.

V Tvojom prípade má typ A aj vozidlo "kolo11"... Asi by to chcelo upresniť, že vozidlo musí obsahovať znaky auto...prípadne to sformulovať tak, aby nedošlo k omylu...

Možno nejak takto:
SELECT * FROM tablename where vozidlo like 'auto%' and typ ='A'

Zpět do poradny Odpovědět na původní otázku Nahoru