Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrzucanie opcji z zapytania SQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Largo
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ę...
pasman
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
Largo
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.
pasman
Pochwal się jak ci się uda. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.