Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Mam tabelę product_user zawierającą product_id i user_id (relacja m do n).
Klient chce filtrowanie użytkowników po produktach. Jeżeli z selecta wybierze 2 produkty to na liście mają mu się pokazać tylko użytkownicy posiadający 2 produkty równocześnie. Jak napisać do tego zapytanie? Z OR nie byłoby problemu, ale z AND nie mam pomysłu... Ten post edytował lukasz91 6.08.2015, 11:29:52 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%)
|
Odkopuję temat, ponieważ klient chce jeszcze to zmodyfikować. Może opiszę na przykładzie:
User 1 ma produkty A I B User 2 ma produkt A Przy filtrowaniu admin wybiera produkt A. Na liście wyników ma mu pokazać tylko Usera 2. User 1 ma nie pokazać się, ponieważ ma dodatkowo produkt B. Na liście ma pokazywać tylko tych użytkowników, co mają dokładnie takie produkty jak wybrane z listy filtrowania. Mój sql wygląda teraz tak:
ale kod nie działa tak jak trzeba. Jak go poprawić? |
|
|
|
lukasz91 [SOLVED] Join i warunek where 5.08.2015, 13:33:52
nospor Musisz dac tyle LEFT JOIN na tabele product_user i... 5.08.2015, 13:55:18
mmmmmmm SELECT user_id FROM product_user WHERE product_id ... 5.08.2015, 14:18:41
nospor Można i tak
Swoją drogą ciekawe jak z wydajnością... 5.08.2015, 14:23:38
lukasz91 Działa sposób zaproponowany przez @mmmmmmm. Dzięki... 6.08.2015, 11:26:35
nospor Ba, moj tez dziala, ino ze ja nie dalem kodu 6.08.2015, 11:35:18 
lukasz91 Cytat(nospor @ 6.08.2015, 12:35:18 ) ... 6.08.2015, 11:43:13
nospor Zgadza sie, jest prostsze w zapisie, chcoć w cale ... 6.08.2015, 11:48:46
bobek358 Kiedyś testowałem, nie odnotowałem dużej różnicy w... 6.08.2015, 13:52:44 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 11:32 |