Вам нужно выбрать одинаковые столбцы. Примерно так:
SELECT j.*
FROM tbl_jokes j JOIN
tbl_jokes_relationships jr
ON jr.rid_jokes = j.id_jokes
WHERE jr.rid_jokes_categories = 1
UNION
SELECT j.*
FROM tbl_jokes j
WHERE j.rid_jokes_categories = 'blondinenwitze'
Кажется глупым использовать union
для этого, если только это не соответствует некоторой цели производительности:
SELECT j.*
FROM tbl_jokes j LEFT JOIN
tbl_jokes_relationships jr
ON jr.rid_jokes = j.id_jokes
WHERE jr.rid_jokes_categories = 1 OR
j.rid_jokes_categories = 'blondinenwitze';
Обратите внимание, что ORDER BY
в подзапросе ничего не делает. Если вы хотите, чтобы результаты были упорядочены, вы должны указать ORDER BY
для самого внешнего SELECT
.