Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 2 tabele i problem z zapytaniem, Widok lub unia ?
Matiash
post
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 7.04.2007

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


Witam,

Otóż posiadam 2 tabele:
1.komentarze_relacji
-pk_id
-data
-tresc
-ocena
-fk_user_id
-fk_relacja_id

2.komentarze_zdjecia
-pk_id
-data
-tresc
-ocena
-fk_user_id
-fk_zdjecie_id


Potrzebuję skonstruować tak zapytanie aby w wyniku było:
data | tresc | ocena | fk_user_id | fk_relacja_id | fk_zdjecie_id
--------------------------------------------------------------------------------------------------
2010-08-09 | lalala.... | 2 | 15 | 10 | null
2010-08-09 | lalala.... | 4 | 10 | null | 5

Czy jest to możliwe do osiągnięcia ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Matiash
post
Post #2





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 7.04.2007

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


Twój skrypt wykonuje się dobrze (IMG:style_emoticons/default/smile.gif) Jednak chcę jeszcze trochę zmodyfikować to zapytanie
-------------------------------------------

Dobra poradziłem sobie tak:

  1. SELECT kr.date, kr.tresc, kr.ocena, kr.fk_user_id, kr.fk_relacja_id NULL AS fk_photos_id
  2. FROM komentarze_relacji kr INNER JOIN relacje r ON r.pk_id = kr.fk_relacja_id WHERE r.fk_user_id = 2
  3. UNION ALL SELECT kz.date, kz.tresc, kz.ocena, kz.fk_user_id, NULL, kz.fk_zdjecie_id
  4. FROM komentarze_zdjecia kz INNER JOIN zdjecia z ON z.pk_id = kz.fk_zdjecie_id WHERE z.fk_user_id = 2 ORDER BY date DESC;


Potrzebuję jeszcze dodać warunek żeby unia zwracała wiersze w których fk_user_id != 2
Jednak:

  1. SELECT kr.date, kr.tresc, kr.ocena, kr.fk_user_id, kr.fk_relacja_id NULL AS fk_photos_id
  2. FROM komentarze_relacji kr INNER JOIN relacje r ON r.pk_id = kr.fk_relacja_id WHERE r.fk_user_id = 2
  3. UNION ALL SELECT kz.date, kz.tresc, kz.ocena, kz.fk_user_id, NULL, kz.fk_zdjecie_id
  4. FROM komentarze_zdjecia kz INNER JOIN zdjecia z ON z.pk_id = kz.fk_zdjecie_id WHERE z.fk_user_id = 2 WHERE fk_user_id !=2 ORDER BY date DESC;


zwraca błąd, że są 2x WHERE;

Ten post edytował Matiash 25.09.2010, 19:52:59
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 06:02