Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> select tych samych wartosci przy roznych warunkach
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


hej, tytul postu pewnie malo jasny, ale zaraz wyjasnie o co mi chodzi. mam tabele test_props ktora trzyma propertisy wartosci z tabeli test_gl.
test_props ma takie pola:

  1. id - PRIMARY KEY
  2. test_gl_id - FOREIGN KEY do tabeli test_gl
  3. name - nazwa properties
  4. value - wartosc properties


ja chcialabym miec takiego sql'a ktory bedzie mi wyciagl dane z tej tabeli na podstawie kilku wartosci properties. chcialabym aby to pytanie dzialalo na takiej zasadzie:

  1. SELECT *
  2. FROM test_props
  3. WHERE 1
  4. AND value = '337' WHERE name = 'name_1'
  5. AND value = 'jakas wartosc' WHERE name = 'name_2'



czyli aby wyciagnelo takie pozycje, dla ktorych value wynosi 337 gdy name = 'name_1' oraz 'jakas_wartosc' gdy name = 'name_2'

da sie to w jakis sposob zrobic?

pzdr

moze podam przyklad. zalozmy ze w tabeli test_props mamy po 3 wpisy odpowiednio dla test_gl_id = 1, 2 i 3:

dla test_gl_id =1 sa wpisy:
  1. name - 'name_1', value - 'value_1'
  2. name - 'name_2', value - 'value_2'
  3. name - 'name_3', value - 'value_3'


dla test_gl_id = 2 sa wpisy:
  1. name - 'name_1', value - 'value_1'
  2. name - 'name_22', value - 'value_22'
  3. name - 'name_3', value - 'value_33'


zas
dla test_gl_id =1 sa wpisy:
  1. name - 'name_1', value - 'value_1'
  2. name - 'name_2', value - 'value_2'
  3. name - 'name_3', value - 'value_3'



i ja chce miec teraz takiego selecta, ktory wyciagnie mi te test_gl_id dla ktorych value = 'value_1' gdy name = 'name_1' oraz dla ktorych value = 'value_3' podczas gdy name = 'name_3' - czyli powinno mi znalezc tet_gl_id 1 oraz 3

Ten post edytował misty 30.09.2011, 08:32:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misty
post
Post #2





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


nie, bo takie zapytanie zwroci mi test_gl_id 1, 2 oraz 3 (bazuje na moim przykladzie wyzej, tak bedzie prosciej). bo bedzie spelione ze albo value = 'value_1' gdy name='name_1' albo value ='value_3' gdy name = 'name_3'

i w przypadku ktory podales test_gl_id = 2 tez sie zalapie bo spelni warunek ze value= 'value_1' gdy name = 'name_1'

a prawdilowymi wynikami powinno byc test_gl_id = 1 i 3, poniewaz tylko dla nich spelnione sa oba warunki (posiadaja value = 'value_1' przy name='name_1' i value = 'value_2' przy name = 'name_2')

mam nadz ze napisalam klarownie o co chodzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 23:22