$result = dbquery( "(SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status FROM ".DB_NEWS." tn LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id WHERE news_cat='3' GROUP BY news_id ORDER BY news_datestamp DESC) UNION (SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status FROM ".DB_NEWS." tn LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id WHERE news_cat='4' GROUP BY news_id ORDER BY news_datestamp DESC)" );
Mam takie podwójne zapytanie. Pierwsza część wyświetla mi rekordy z atrybutem news_cat=3, natomiast druga cześć kodu wyświetla rekordy z news_cat=4 (sortowane według daty dodania).
Wynikiem tego zapytania jest wyświetlanie na ekranie newsów z dwóch kategorii. Najpierw wyświetlane i sortowane są newsy z kategorii o id=3, a następnie wyświetlane są newsy z kategorii o id=4.
Schemat ułożenia newsów na stronie (sortowane według daty dodania):
News 1 ( news_cat=3)
News 3 ( news_cat=3)
News 5 ( news_cat=3)
News 2 ( news_cat=4)
News 4 ( news_cat=4)
News 6 ( news_cat=4)
Czy mógłbym prosić o pomoc/wskazówki w modyfikacji tego zapytania, tak aby newsy (rekordy) mogłyby być przeplatane niezależnie od kategorii do jakiej należą. Z uwzględnieniem daty dodania.
Czyli wynik miałby tak wyglądać:
News 1 ( news_cat=3)
News 2 ( news_cat=4)
News 3 ( news_cat=3)
News 4 ( news_cat=4)
News 5 ( news_cat=3)
News 6 ( news_cat=4)
Proszę o wskazówkę co należy zmienić.