Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak posortowac tabele wg wynikow z innej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
netvalue
mam dwie tabele

media_category:

id | title_pl
------------------
5 | abc
7 | bca
9 | ads
10 | xxx

oraz

offer_media
id | media_id | offer_id
-------------------------
1 | 7 | 31
2 | 5 | 31

potrzebuje wyciagnac wszystkie rekordy z tabeli media_category ale posrtowane wg kolejnosci id z tabeli offer_media dla offer_id = 31

wynik powinien byc taki

7 | bca
5 | abc
9 | ads
10 | xxx


robie tak ale cos mi nie wychodzi:
  1. SELECT id,title_pl, id2
  2. FROM (
  3. SELECT o.media_id AS id, m.title_pl, o.offer_id AS id2 FROM offer_media o JOIN media_category m ON m.id=o.offer_id WHERE o.offer_id=31
  4. UNION
  5. SELECT id AS id ,title_pl, NULL AS id2 FROM media_category
  6. ) t
  7. GROUP BY title_pl ORDER BY id2 DESC
nospor
czemu nie zrobisz zwyklego LEFT JOIN na offer_media tylko kombinujesz z podzapytaniami i UNION?
netvalue
Ponieważ jak dam
  1. SELECT m.title_pl , m.id FROM media_category m LEFT JOIN offer_media o ON o.media_id=m.id WHERE o.offer_id=31


wyświetli mi tylko dwa wiersze które są w offer_media
nospor
no ale o.offer_id=31 masz robic w sekcji JOIN po ON a nie w where....
netvalue
OMG. ale fail robie smile.gif dzieki Nospor . Starosc nie radosc smile.gif
nospor
Cytat(netvalue @ 26.06.2018, 10:14:28 ) *
Starosc nie radosc smile.gif
Znam to z pierwszej reki wink.gif Zdarza sie kazdemu
Pyton_000
@netvalue a ile ty masz lat że tak twierdzisz wink.gif
nospor
@Pyton sie nie boj, ciebie staruszku i tak nikt nie przebije wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.