![](/img/trans.png)
[英]I have tables name as "expenses" and "orders" i want to get there total separately and then subtract orders total from expenses
[英]i have three tables and when i retrieve data from them i also want to get the table name too
$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());
我有三个表,当我从它们中检索数据时,我也想获取表名,以知道此数据属于该表,我如何才能根据数据检索表名,请建议我。
您可以轻松做到的是:
SELECT colum1, column2, 'tableName1' as tableName FROM tableName1
UNION
SELECT colum1, column2, 'tableName2' as tableName FROM tableName2
您始终可以在选择中添加字符串或数字作为列。 每行都相同。
除了旧版mysql库存在的问题外,返回表名实际上相当容易。
由于您使用的是UNION,实际上需要3个选择,所以您要做的就是在每个选择的末尾进行更改。
SELECT sno,name,email,phone,smpc
至
SELECT sno,name,email,phone,smpc,'XXXX' AS tablename
并在每个查询中将XXXX替换为表名
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.