Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrzucanie opcji z zapytania SQL
Largo
post
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Witam,

Mam taki warunek w MySQL:

  1. WHERE `order`.`order_state` IN ('3', '4') AND `order`.order_created <= '2015-03-10 23:59:59' AND `order_properties`.op_owner = '27231' AND delivery.warehouse_id = '20' AND `item_supplier`.supplier_id IN ('2','7') GROUP BY `order`.order_id ORDER BY `order`.order_created DESC LIMIT 0,30


Kryteria są następujące:

Dostawca: 2 i 7
Status: 3 i 4

Ma wyświetlić opcje, które pasują do poniższych kryteriów:

a) Dostawca 2, status 3
cool.gif Dostawca 2, status 4
c) Dostawca 2, status 3 i 4
d) Dostawca 7, status 3
e) Dostawca 7, status 4
f) Dstawca 7, status 3 i 4
g) Dostawca 2 i 7, status 3
h) Dostawca 2 i 7, status 4
i) Dostawca 2 i 7, status 3 i 4

Teraz jak to ugrać? IN działo jako OR, a jak zrobić, aby działało tak jak w/w? Niestety, kwerenda jest olbrzymia i nie chciałbym używać podzapytań, ale obawiam się, że bez nich nic nie wymyślę...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
pasman
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 4
Dołączył: 16.03.2012

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


jeżeli rekord ma przechowywać wiele statusów i wielu dostawców, to można:
- zakodować je w jednym polu, lub
- dodać dodatkowe tabele dla relacji wiele-do-wielu

chyba że chodzi ci o coś innego

Ten post edytował pasman 13.03.2015, 14:05:56
Go to the top of the page
+Quote Post
Largo
post
Post #3





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Cytat(pasman @ 13.03.2015, 14:05:22 ) *
jeżeli rekord ma przechowywać wiele statusów i wielu dostawców, to można:
- zakodować je w jednym polu, lub
- dodać dodatkowe tabele dla relacji wiele-do-wielu

chyba że chodzi ci o coś innego


Chodzi o to, że jak ktoś dodać te 4 kryteria to mam je wybrać, a np. w zamówieniu może być tak, że ma dostawcę 2 i 7 i wtedy ma takie wybrać, ale jak dodamy statusy 3 i 4, a jeden z produktów z zamówienia ma inny niż 3 i 4 to ma wywalić taki rekord.
Z pomysłem zakodowania statusów w jedno pole to niezła myśl! ;-)

Tabele niestety odpadają. Sprawdzę Twoje rozwiązanie z tymi dodatkowymi polami.
Go to the top of the page
+Quote Post
pasman
post
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 4
Dołączył: 16.03.2012

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


Pochwal się jak ci się uda. smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 06:29