Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak wyfiltrować towary z ostatnią datą zakupu
staryadam60
post 16.06.2020, 11:13:12
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.11.2011

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


Mam w bazie tabele:
towary; id, nazwa itd
faktury; id, dostawca, data zakupu itd
tabelę haszującą; id_towary, id_faktury, ceny zakupu itd

Jeden towar jest kupowany w wielu latach a ja potrzebuję wyciągnąć je z ostatnich dat w jakich zostały zakupione.

Niestety moje Selecty wyciągają wszystkie daty zakupów.
Jeśli zastosuję MAX(data_zak) to zaś wyfiltruje mi z ostatniego dnia, czyli nie wszystkie jakie chciałbym otrzymać.

Kod
SELECT t.id_towar, t.nazwa, f.data_zak
FROM towar t
LEFT  JOIN  (faktura f,  faktura_has_towar thf)
ON (t.id_towar=thf.id_towar AND f.id_faktura=thf.id_faktura )
WHERE t.nazwa LIKE '%jakaś niepełna nazwa towaru%' AND f.data_zak=(SELECT MAX(f.data_zak) FROM faktura f) ORDER BY t.nazwa, f.data_zak ASC


Już nie wiem jak mam wyfiltrować towary aby nie wychodziły ze wszystkimi datami.

Mała prośba, nie odsyłajcie mnie do nie polskich stron bo ja niestety bardzo dawno temu uczyłem się tylko wschodniego języka którego i tak się nie nauczyłem
Go to the top of the page
+Quote Post
mmmmmmm
post 17.06.2020, 11:21:25
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. SELECT t.id_towar, t.nazwa, f.data_zak
  2. FROM towar t
  3. LEFT JOIN (faktura f, faktura_has_towar thf) /* nie wiem WTF ale tak zostawię */
  4. ON (t.id_towar=thf.id_towar AND f.id_faktura=thf.id_faktura )
  5.  
  6. WHERE
  7. t.nazwa LIKE '%jakaś niepełna nazwa towaru%'
  8. AND (t.id_towar,f.data_zak) IN (SELECT t.id_towar, MAX(f.data_zak) FROM towar t JOIN (faktura f, faktura_has_towar thf) ON (t.id_towar=thf.id_towar AND f.id_faktura=thf.id_faktura ) GROUP BY 1)
  9. ORDER BY t.nazwa, f.data_zak ASC
Go to the top of the page
+Quote Post
staryadam60
post 17.06.2020, 15:04:54
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.11.2011

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


I Wielkie Dzięki za pomoc. Działa tak jak potrzebuję.
Mam dopiero 68 lat a nauka idzie mi strasznie wolno graduated.gif

Jeszcze raz Dziękuję Bardzo.
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 Wersja Lo-Fi Aktualny czas: 29.03.2024 - 00:44