hmm,
rozumie nazwy działów i właśnie dlatego uważam że się trochę zapędziłeś.
Napisałeś je nie w tej kolejności....
Co do problemu, u mnie każdy dział to osobna tabela,
idąc tym tropem chyba nie potrzebuje zapisu ''nazwa działu 1' AS `dzial`,
wiec go usunąłem , wtedy MySQL krzyczał że nie poprawna składnia z GROUP BY i ORDER BY,
więc usunąłem to, i zadziałało, ale dane są nie poprawne i przekłamane, pokazuje mi w komórkach
takie rzeczy które wiem że są w zupełnie innych komórkach.
Czy można za pomocą UNION jakoś te dane pogrupować i odpowiednio po sortować?
I jak mogę rozróżnić że dane pochodzą z tabeli newsów a nie innej ?
Z tego co widzę wyniki są nie rozróżnialne.
Oto moje zapytanie na 3 tabelach:
SELECT R.reviews_id AS sarche_id, R.reviews_dataadd AS sarche_dataadd, R.reviews_name AS sarche_name, R.reviews_truncate AS sarche_truncate, R.reviews_estimate_vt AS sarche_estimate, count(C.comment_id) AS sarche_comment FROM videotesty_reviews R LEFT JOIN videotesty_comments C ON (C.comment_reviews_id = R.reviews_id) WHERE R.reviews_active = '1' AND ( R.reviews_name LIKE '%test%' OR R.reviews_search LIKE '%test%' OR R.reviews_spec_search LIKE '%test%') GROUP BY R.reviews_id ORDER BY R.reviews_id DESC UNION ALL SELECT A.advices_id AS sarche_id, A.advices_name AS sarche_name, A.advices_image AS sarche_image, A.advices_truncate AS sarche_truncate, A.advices_estimate_vt AS sarche_estimate, count(C.comment_id) AS sarche_comment FROM videotesty_advices A LEFT JOIN videotesty_comments C ON (C.comment_advices_id = A.advices_id) WHERE A.advices_active = '1' AND ( A.advices_name LIKE '%test%' OR A.advices_search LIKE '%test%') GROUP BY A.advices_id ORDER BY A.advices_id DESC UNION ALL SELECT N.news_id AS sarche_id, N.news_dataadd AS sarche_dataadd, N.news_name AS sarche_name, N.news_image AS sarche_image, N.news_truncate AS sarche_truncate, count(C.comment_id) AS sarche_comment FROM videotesty_newsy N LEFT JOIN videotesty_comments C ON (C.comment_news_id = N.news_id) WHERE N.news_active = '1' AND ( N.news_name LIKE '%test%' OR N.news_search LIKE '%test%') GROUP BY N.news_id ORDER BY N.news_id DESC
Jak usuniesz łączenie do tabeli comments i ostatni wpis count() oraz ORDER BY i GROUP BY to to zapytanie z UNION zadziała.
Z kolei jak usuniesz UNION ALL to uzyskasz 3 zapytania SELECT zgrupowane i posortowane, (grupuje) bo do każdego rekordu muszę jeszcze zaczytać ilość komentarzy.