![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
mam tabele
products ------------------ pdoruct_id i days_2_products _____________ day_2_product_id day_2_product_product_id day_2_product_day do tabeli days_2_products dodaje dni, w których produkt nie jest dostępny potem wyszukuje, ktoś wpisuje date od i date do jesli produkt jest dostepny w dacie od do wtedy ma mi zwrocic ten rekord, wiec rozbijam sobie date od do na wszystkie dni ktore objmuje i konstruje zapytanie
Zastanwaiem się czy " d_2_p.day_2_product_day <> '2008-08-25' AND d_2_p.day_2_product_day <> '2008-08-26' itd.... " można jakość uprościć ? probowalem tak "NOT d_2_p in ( '2008-08-25', ' '2008-08-25' itd. ... )" jednak to nie zadziala dobrze, wyrzuci z wyniku tylko ta jedna wartosc przed grupowaniem. Może ktoś ma jakiś pomysł ? dotkowo zauwzylem że mimo left join jesli w tabeli z dniami nie ma zdanych danych zwiazanych z danym produktem to ten produkt nie bedzie wyświtlany AND d_2_p.day_2_product_day <> '2008-08-26' |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 22 Dołączył: 3.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
widzę że to co próbowałeś to trochę inaczej wygląda - coś takiego nie chodzi:
A to że produkt nie jest wyświetlany gdy nie ma jego id w d_2_p to nic dziwnego, bo po tych id grupuje. Spróbuj dać
Ten post edytował oscar17 21.08.2008, 18:07:11 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
HERE d_2_p.day_2_product_day NOT IN('2008-08-25','2008-08-26')
tak też próbowałem to nie ma różnicy, GROUP by p.product_id nic nie zmieni, wogole usuwając group by będzie to samo, to znaczy produkty o które mi chodzi nie będą się wyswietlac wpadłem na pomysł jak to w inny sposob zrobić, ale to strasznie bedzie obciazać bazę danych
jest może jakiś operator zawierania się zbioru w zbiorze ? tak aby to połaczyć w całość - ('2008-04-25' , '2008-04-27' ) kazdy element z tego zbioru nie może sie zawierac w zbiorze (SELECT day_2_product_day FROM days_2_products WHERE day_2_product_product_id = p.product_id) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 17:13 |