Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Viacnásovný WHERE na stĺpec

Registrovaný: 04.04.08
Prihlásený: 27.02.12
Príspevky: 531
Témy: 27
Bydlisko: Nitra
Príspevok NapísalOffline : 11.07.2009 14:48

Riešim takýto problém:

Mám tabuľku s parametrami produktov ktorá má 3 stĺpce:
Kód:
param_nadradeny | param_hodnota | param_pd_id
-----------------------------------------------------------
1               | Value         | 5
2               | Test          | 5
1               | Pokus         | 2


Na stránke chcem, aby sa dalo filtrovať produkty pomocou parametrov, t.j. odošlem formulár s IDčkami parametrov a ich hodnotami. Následne potrebujem z DB získať parametre, ktoré som zvolil, ale musia mať hodnoty ktoré som vyplnil, t.j. odošlem napr. že chem aby mi vypísalo produktu, kde parameter s ID 2 má hodnotu Test a parameter s ID 1 má hodnotu Value. Databáza by mi mala vypluť IDčka produktov, ktoré vyhovujú parametrom.

Skúšal som aj tento SQL, ale nefunguje:
SELECT * FROM `parametre` WHERE (`param_id`='2' AND `param_hodnota`='Test') AND (`param_id`='1' AND `param_hodnota`='Value')


Uvítam každú radu. Dúfam že ma chápete :D







_________________
V príprave...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok NapísalOffline : 11.07.2009 15:27

Ak spravne chapem tak staci vymenit AND za OR
Kód:
SELECT * FROM `parametre` WHERE (`param_id`='2' AND `param_hodnota`='Test') OR (`param_id`='1' AND `param_hodnota`='Value')


kedze param_id sa nemoze rovnat 2 a zaroven 1 tak ti to nikdy nic nenajde...

ak tym param_id myslis stlpcek param_nadradeny ?


Offline

Užívateľ
Užívateľ
Viacnásovný WHERE na stĺpec

Registrovaný: 04.04.08
Prihlásený: 27.02.12
Príspevky: 531
Témy: 27
Bydlisko: Nitra
Príspevok Napísal autor témyOffline : 11.07.2009 15:46

Hej, param_id je param_nadradeny, ospravedlnujem sa

Keď tam dám OR, znamená, že platí buď jedno alebo druhé. Lenže ja potrebujem aby platili obe podmienky. Keď nahradím AND za OR, dostanem toto: (v DB je viac riadkov ako len tri...)

param_nadradeny | param_hodnota | param_pd_id
-----------------------------------------------------------
1 | Value | 5
2 | Test | 5
1 | Value | 2

A toto ja práve nechcem , pretože posledný riadok nespĺňa druhú požiadavku







_________________
V príprave...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok NapísalOffline : 11.07.2009 16:47

ale obe podmienky nebudu platit nikdy, pretoze v prvej uvadzas ze param_id ma byt 1 a v druhej ze param_id ma byt 2 a v jednom riadku param_id nikdy nebude 1 a zaroven 2 :roll: tak preto tam AND nebude


btw aj posledny riadok splna druhu podmienku...
1 | Value | 2

a ak myslis posledny riadok z predch. prispevku tak ten by ti vratit nemalo, ten skutocne nesplna poziadavku
1 | Pokus | 2


Offline

Užívateľ
Užívateľ
Viacnásovný WHERE na stĺpec

Registrovaný: 04.04.08
Prihlásený: 27.02.12
Príspevky: 531
Témy: 27
Bydlisko: Nitra
Príspevok Napísal autor témyOffline : 11.07.2009 17:40

Tak inak.

Mám takúto štruktúru s údajmi:
Viacnásovný WHERE na stĺpec

A potrebujem dostať toto cez SQL. IDčko produktu nepoznáme (berte do úvahy):
Viacnásovný WHERE na stĺpec







_________________
V príprave...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok NapísalOffline : 11.07.2009 17:59

hmm no asi uz rozumiem kde je problem, jeho riesenie vsak nepoznam... ta poziadavka mi pride zvlastna, nerozumiem jej vyuzitiu, co vlastne chces zistit? mas prvy a posledny stlpec a chces zistit druhy? na to ti staci len jedna podmienka z tych dvoch...

nepoznas param_pd_id ale potrebujes dostat param_nadradeny 1 a 2 s prislusnymi param_hodnota. Ked spustis
Kód:
SELECT * FROM `parametre` WHERE (`param_id`='2' AND `param_hodnota`='Test') OR (`param_id`='1' AND `param_hodnota`='Value')


tak vyhodi aj treti riadok, ktory nepotrebujes - no ale tomu sa asi neubranis kedze maju dva parametre ktore poznas rovnake a ten treti ktory ich odlisuje nepoznas.


asi som ta zle pochopil, takze neviem ti pomoct....


Offline

Užívateľ
Užívateľ
Viacnásovný WHERE na stĺpec

Registrovaný: 04.04.08
Prihlásený: 27.02.12
Príspevky: 531
Témy: 27
Bydlisko: Nitra
Príspevok Napísal autor témyOffline : 11.07.2009 18:18

Okej. Tak dajme tomu že mi to vyhodí 3 výsledky, z toho 2 budu mať rovnaké IDčko produktu. Ako tie 2 riadky zlučim do jedného a ten posledný z toho SQL zmažem? T.j. ostalo by mi potom napr. len 1 | 1 | ATi HD4770

// UP: Problém vyriešený. Použil som niekoľko foreach-ov a následne to nejakým spôsobom upravil :D Dík za pomoc scrysurn :)







_________________
V príprave...
Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Pravy stlpec

v HTML, XHTML, XML, CSS

2

492

26.02.2009 20:58

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako vydelit v exceli jeden stlpec druhym stlpcom?

v Ostatné programy

4

599

25.11.2007 17:35

KatjushaMan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. mysql where

v Databázy

1

744

26.08.2008 16:35

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WHERE or ??

v PHP, ASP

5

520

17.03.2008 16:36

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WHERE array

v PHP, ASP

0

453

25.09.2008 15:17

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. mysql Where

v PHP, ASP

5

494

17.04.2008 9:27

Xardas Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. mysql where like

v Databázy

1

969

26.02.2011 23:41

stenly Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hash v sql where

v PHP, ASP

7

394

04.03.2012 16:27

account23 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SQL > WHERE IN

v Databázy

15

583

20.09.2012 8:49

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vivo v7 - where to buy

v Mobilné zariadenia

1

299

16.01.2018 9:29

kllr007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Where is the Guru - problem Gothic3

v Počítačové hry

15

2235

26.08.2010 10:50

johnny7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zvlastny problem s WHERE v MYSQL

v PHP, ASP

3

277

08.10.2013 9:36

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako zmenit podmienku "where" pre listbox cez radiobutton ?

v JavaScript, VBScript, Ajax

0

424

18.02.2011 0:18

10tomi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pouzit premennu vytvorenu cez "as" vo where - mysql

v Databázy

4

304

08.12.2013 23:54

DeeJay3 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra