Složitá WHERE selekce pro zkušené – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Složitá WHERE selekce pro zkušené – MySQL – Fórum – Programujte.comSložitá WHERE selekce pro zkušené – MySQL – Fórum – Programujte.com

 

fix0
Návštěvník
18. 7. 2020   #1
-
0
-

Ahoj všem, moc prosím o pomoc se násobnou a vnořenou selekcí. Možná se to dá jen nějak zazávorkovat, aby byly jasné vztahy mezi jednotlivými podmínkami.

Uvedu příklad:

WHERE (

zanr="akcni" && rok='2018' || rok='2020' || rok='1998' 
OR zanr="komedie" && rok='2015' || rok='2019' || rok='1994'
OR zanr="historicky" && rok='1988' || rok='2001' || rok='2020'
OR zanr="drama" && rok='1989' || rok='1993' || rok='1992'
OR zanr="valecny" && rok='2020' || rok='2015' || rok='2018'

)

Co chci: Vypiš všechno, co ve sloupečku "zanr" má napsáno "akcni" a ve sloupečku "rok" má "2018" nebo "2020" nebo "1994".
Jak se to ale chová: Vypiš všechny "akční z roku 2018" nebo "libovlné z roku 2020" nebo "libovolné z roku 1998".

Určitě to jde řešit nejakou jinou lepší cestou přes jiny a kdoví co. Třeba znáte jinou cestu, a osobně byste to řešili jinak. Rád se nechám poučit avšak předělávat to nechci, chci spíše zprovoznit můj příklad aby fungoval ve formátu, v jakém jei, věřím, že to jde.

Potřebuji to nějak takhle (ty závorky):
zanr="akcni" && (rok='2018' || rok='2020' || rok='1998')
 

Jakože nutně vždy akční v kombinaci s roky, nikoliv roky samostatně bez "akčního žánru.

Nahlásit jako SPAM
IP: 31.30.174.–
gna
~ Anonymní uživatel
1182 příspěvků
18. 7. 2020   #2
-
+3
-
Zajímavé

Tak si tam ty závorky dej! Co ti v tom brání?

Nahlásit jako SPAM
IP: 213.211.51.–
fix0
Návštěvník
18. 7. 2020   #3
-
0
-

Si děláš srandu, ono to fakt funguje. :-D Já sem to zkoušel asi trochu jinak. O to větší radost mám, že jsem na to přišel sám, děkuji ti.

Vyřešeno.

Nahlásit jako SPAM
IP: 31.30.174.–
peter
~ Anonymní uživatel
3605 příspěvků
21. 7. 2020   #4
-
+1
-
Zajímavé
fix +

   

zanr="akcni" && (rok='2018' || rok='2020' || rok='1998') -- zavorky jsou ok, ale slo by to napsat i jinak
zanr="akcni" && rok IN ('2018', '2020', '1998')
Nahlásit jako SPAM
IP: 2001:718:2601:258:dc55:5294:2c5a:3c49...–
fix0
Návštěvník
21. 7. 2020   #5
-
0
-

To je přehlednější, super vychytávka, já sem tušil, že to musí přes to IN taky nějak jít. :-D Díky,

Nahlásit jako SPAM
IP: 31.30.174.–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Vlákna pro zkušené — založil Martin Kozibrátka

Jsme tady pro zkušené Java Developery — založil Dina Hájková

Kanál eq. selekce — založil Petroff

šířka selekce v px — založil Petroff

Netrivialni selekce — založil BigBear

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý