Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Chronologia z dwóch tabel
rafik73
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

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


Witam
Kwestia następująca. Dwie tabele: owoce i sprzedane_owoce.
W tabeli owoce: id_owoc, nazwa_owoc
w tabeli sprzedane_owoce: data_transakcji, id_owoc_sprzedany.
id_owoc = id_owoc_sprzedany
W kontrolce select chcę wyświetlać nazwa_owoc (wg id_owoc) ułożone chronologicznie wg data_transakcji.
Próbowałem z MAX, ale problem w tym, że nie wszystkie owoce z tabeli owoce występują w sprzedane_owoce.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
javafxdev
post
Post #2





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

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


to co się ma stać jeżeli dany owoc jeszcze nigdy nie został sprzedany?
Go to the top of the page
+Quote Post
rafik73
post
Post #3





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

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


Ma być wyświetlony na liście jako ostatni, jeśli jest ich kilka to ułożone wg alfabetu. Cała zagwozdka w tym, że data występuje tylko w jednej tabeli.
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Z palca:
  1. SELECT o.id_owoc,o.nazwa_owoc
  2. FROM owoce AS o
  3. LEFT JOIN sprzedane_owoce AS so ON so.id_owoc_sprzedany=o.id_owoc
  4. ORDER BY IFNULL(os.data_transakcji,0,1) DESC,os.data_transakcji,o.nazwa_owoc

jeśli nie masz sprzedaży w przyszłości, to:
  1. SELECT o.id_owoc,o.nazwa_owoc
  2. FROM owoce AS o
  3. LEFT JOIN sprzedane_owoce AS so ON so.id_owoc_sprzedany=o.id_owoc
  4. ORDER BY COALESCE(os.data_transakcji,DATE_ADD(CURDATE(),INTERVAL 1 DAY)),o.nazwa_owoc


--------------------
Go to the top of the page
+Quote Post
javafxdev
post
Post #5





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

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


@trueblue a czemu nie ORDER BY ISNULL(os.data_transakcji) tylko IFNULL(...)?
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


javafxdev,
bo nie przyszło mi do głowy to rozwiązanie w momencie kiedy pisałem.


--------------------
Go to the top of the page
+Quote Post
rafik73
post
Post #7





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

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


Dziękuję panowie, tego ISNULL mi brakło smile.gif
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


javafxdev pomógł.


--------------------
Go to the top of the page
+Quote Post
rafik73
post
Post #9





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

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


no w sumie pomoc w duecie
Go to the top of the page
+Quote Post
javafxdev
post
Post #10





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

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


ja raczej nie pomogłem, zadałem dwa pytania wink.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: 22.08.2025 - 09:32