$raw_results = mysql_query("SELECT sno,name,email,phone,smpc FROM existing_sales_details
WHERE (`sno` LIKE '%".$query."%') OR(`name` LIKE '%".$query."%') OR (`email` LIKE '%".$query."%') OR (`phone` LIKE '%".$query."%') OR (`smpc` LIKE '%".$query."%')
UNION
SELECT sno,name,email,phone,smpc FROM sale_details
WHERE (`sno` LIKE '%".$query."%') OR(`name` LIKE '%".$query."%') OR (`email` LIKE '%".$query."%') OR (`phone` LIKE '%".$query."%') OR (`smpc` LIKE '%".$query."%')
UNION
SELECT sno,name,email,phone,smpc FROM uncharge
WHERE (`sno` LIKE '%".$query."%') OR(`name` LIKE '%".$query."%') OR (`email` LIKE '%".$query."%') OR (`phone` LIKE '%".$query."%') OR (`smpc` LIKE '%".$query."%')")
or die(mysql_error());
我有三个表,当我从中检索数据时,我也希望得到表名,知道这个数据属于这个表,如何根据数据检索表名,请建议我。
答案 0 :(得分:2)
您可以轻松做到的是:
SELECT colum1, column2, 'tableName1' as tableName FROM tableName1
UNION
SELECT colum1, column2, 'tableName2' as tableName FROM tableName2
您始终可以在选择中添加字符串或数字作为列。每一行都是一样的。
答案 1 :(得分:0)
除了旧的mysql库的问题之外,返回表名实际上相当容易。
由于您使用的是UNION,基本上只有3个选择,所以您需要做的就是每个选择的结尾 变化
SELECT sno,name,email,phone,smpc
要
SELECT sno,name,email,phone,smpc,'XXXX' AS tablename
并将XXXX替换为每个查询中的表名