Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> LEFT JOIN i Grupowanie wyników
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Witam. Mam mały problem z zapytaniem:
  1. SELECT * FROM `news`
  2. LEFT JOIN `files` ON `fprefix` = `prefix`
  3. LEFT JOIN `node` ON `node_id` = `cat`
  4. WHERE `start` <= UNIX_TIMESTAMP() AND (`stop` >= UNIX_TIMESTAMP() OR `stop` = 0 )
  5. AND `publish` = 1
  6. AND `sticky` = 1
  7. AND `lang` = '".$lang."'
  8. AND `ftype` = 'image'
  9. ORDER BY `start` DESC, `ford` DESC LIMIT 0,4


Pobieram newsy oraz załączniki do newsa. Z tym że jeżeli nie ma żadnego załącznika do newsa wtedy nie zostaje wyświetlony.
Jeżeli mam kilka załączników do newsa o ftype = image nie sortuje ich wg pola ford od najnowszych.

Nie wiem za bardzo jak pobrać 4 newsy wraz z pierwszym najnowszym załącznikiem o typie image?
Próbowałem z GRUP BY id. Wtedy to pobiera raz newsa o danym id jeżeli jest więcej załączników niż jeden.



Dobrze udało mi się smile.gif Tylko nie wiem czy dobrze.

  1. SELECT * FROM `news`
  2. LEFT JOIN `files` ON `fprefix` = `prefix` AND `ftype` = 'image' AND ford = 0
  3. LEFT JOIN `node` ON `node_id` = `cat`
  4. WHERE `start` <= UNIX_TIMESTAMP() AND (`stop` >= UNIX_TIMESTAMP() OR `stop` = 0 )
  5. AND `publish` = 1
  6. AND `sticky` = 1
  7. AND `lang` = '".$lang."'
  8. ORDER BY `start` DESC, `ford` DESC LIMIT 0,4


Nie wiem czy to jest optymalne, oczywiście wszystkich danych nie będę pobierał bo jest ich dużo. Czy to rozwiązanie jest dobre?


--------------------

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: 19.08.2025 - 18:56