SQL / PHP - 从UNION获取PHP的表名

时间:2014-03-11 14:03:04

标签: php mysql sql

SELECT entry_id,a.about,null title,null article ,null description

FROM about a 

WHERE 
(
MATCH(a.about) AGAINST ('$search' IN BOOLEAN MODE)
)
AND a.user_id='$user_id'

UNION
select entry_id,null, b.title,b.article,b.description
from articles b 

WHERE
(
MATCH(b.title,b.article,b.description) AGAINST ('$search' IN BOOLEAN MODE)
)
AND b.user_id='$user_id'

是否有可能在PHP中查找结果的来源(哪个表)?

因此,如果匹配来自articles表而不是about表,那么可以以某种方式在PHP中检索该信息吗?

2 个答案:

答案 0 :(得分:2)

在查询中添加另一列以区分它们。 像这样:

SELECT 1 AS Field0, Field1, Field2 from Table_A
UNION 
SELECT 2 AS Field0, Field1, Field2 from Table_B

将Field0设置为1的行返回来自表A,如果它是表B中的值2

答案 1 :(得分:1)

只需使用" SQL别名"

  

SQL别名用于提供数据库表或表中的列,   一个临时名称。

基本上创建了别名以使列名更具可读性。

列的SQL别名语法

SELECT column_name AS alias_name
FROM table_name;

表的SQL别名语法

SELECT column_name(s)
FROM table_name AS alias_name;