2013-04-27 103 views
1

您好我正在使用聯合搜索到數據庫中的表,這很好。MySQL - 在搜索結果中查找列名中的表名

我一直在嘗試接收列中的表的名稱,所以我可以使用該數據,但我沒有管理,下面是MySQL代碼顯示我的聯盟。

(
    SELECT productname, id, filename 
    FROM mobiles 
    WHERE productname LIKE '%app%' 
) 
UNION 
(
    SELECT productname, id, filename 
    FROM tablets 
    WHERE productname LIKE '%app%' 
) 

下面是結果表,我已經添加了「表」欄,顯示從該表中的記錄是從哪裏來的。

************************************* 
productname * id * filename * table 
************************************* 
Iphone 4s * 1 * bla.png * moblies 
Tablet  * 23 * hi.png * tablets 
Tablet Mini * 25 * fi.jpg * tablets 
iphone 5 * 10 * bl.png * mobiles 

回答

0

在查詢中添加表列:

(
    SELECT productname, id, filename, 'mobiles' as tablename 
    FROM mobiles 
    WHERE productname LIKE '%app%' 
) 
UNION ALL 
(
    SELECT productname, id, filename, 'tablets' as tablename 
    FROM tablets 
    WHERE productname LIKE '%app%' 
) 
2
(
    SELECT productname, id, filename, 'moblies' `table` 
    FROM mobiles 
    WHERE productname LIKE '%app%' 
) 
UNION 
(
    SELECT productname, id, filename, 'tablets' 
    FROM tablets 
    WHERE productname LIKE '%app%' 
)