2013-04-27 30 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%' 
)