[英]How to do Mysql Union with check if row exists?
好的,這有點復雜,因為我的表沒有被引用或合並或彼此匹配,所以我不能使用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'
然后,您可以在代碼中檢查“源”列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.