OK, это немного сложно, потому что мои таблицы не ссылаются или не объединены друг с другом или не совпадают друг с другом, поэтому я не могу использовать JOIN. Я создаю форму поиска, которая будет просто соответствовать ключевому слову поиска в нескольких таблицах.
Проблема в том, что мне нужно создать ссылку на новости, в зависимости от того, из какой таблицы пришел результат, но я не могу найти крючок. Союз MySql работает отлично, за исключением того, что я не могу проверить, находятся ли данные из таблицы a или таблицы b.
here is short version SELECT i.title,i.category FROM table_a WHERE REGEXP 'news' UNION SELECT i.title,i.category FROM table_b WHERE REGEXP 'news'
теперь моя таблица A имеет 36 строк, а таблица B имеет 34, еще одно отличие состоит в том, что таблица A имеет имя строки extra_field, которое я хотел проверить, и на основе этого переключателя моя ссылка.
php-переключатель после запроса может быть чем-то вроде
foreach($rows as $row) : if($row->extra_field): $link = 'index.php?".$row->category.$row->title".html' else: $link = 'index.php?".$row->title".html' endif; endforeach;
Итак, есть ли способ проверить мой UNION sql, если эта строка существует? Я знаю, как проверить, существует ли строка, но как это сделать в UNION?
Пожалуйста помоги. Спасибо!
Используя короткую версию в качестве примера, вы можете добавить дополнительный столбец к запросу:
SELECT i.title,i.category,'a' as source FROM table_a WHERE REGEXP 'news' UNION SELECT i.title,i.category, 'b' as source FROM table_b WHERE REGEXP 'news'
Затем в вашем коде вы можете проверить столбец «источник».