select z union all select

0

Witam
Mam stronę z takim zapytaniem wyświetlającą aktualności z użytkownikami, którzy je umieścili:

$result = dbquery(
			"SELECT tn.*, user_id, user_name FROM ".DB_NEWS." tn
			LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
			WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0' ORDER BY news_sticky DESC, news_datestamp DESC LIMIT ".$_GET['rowstart'].",$items_per_page"
		);

Dodatkowo mam 4 subdomeny w tej samej bazie danych z których chciałbym wyświetlić aktualności na głównej domenie.
Tworzę więc nowe zapytanie:

$result = dbquery("SELECT tn.*, user_id, user_name FROM `m_news` UNION ALL SELECT tn.*, user_id, user_name FROM `i_news` UNION ALL SELECT tn.*, user_id, user_name FROM `p_news` UNION ALL SELECT tn.*, user_id, user_name FROM `u_news` UNION ALL SELECT tn.*, user_id, user_name FROM `w_news` UNION ALL SELECT tn.*, user_id, user_name FROM `o_news` tn
			LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0' ORDER BY news_sticky DESC, news_datestamp DESC LIMIT ".$_GET['rowstart'].",$items_per_page" ); 

Które zwraca błąd tn i tu. (użytkownicy są z jednej tabeli).

Jak więc połączyć te wszystkie wyniki aby wyswietlić nazwy użytkowników, którzy dodali newsy

0

Osobne tabele do każdej kategorii/działu/strefy/domeny/subdomeny/wtf nigdy nie wróżą nic dobrego. To się robi tak:

id id_zasobu tytul zawartosc
2 1 Kot Alik zgwałcony, szok! Bla bla bla bla...
3 1 Ktośtam cośtam Ktośtam cośtam omg
Gdzie id_zasobu to identyfikator kategorii/działu/strefy/domeny/subdomeny/wtf. Dzięki temu nie trzeba tworzyć oddzielnych tabel.
0

Myślałem nad tym rozwiązaniem tylko że aktualności w poszczególnych subdomenach mają już swoje kategorie :(

0

to popraw i aktualności. spieprzona jedna część systemu spieprzy całą resztę - albo popraw ją, albo żyj z potworem, który będzie rósł i generował kolejne problemy, a gwarantuję Ci, że nadejdą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1