我正在尝试将许多表格混合到一个查询中并按日期对其进行排序.
但是我还想要一个列来定义信息来自哪个表 - 这样我就可以使用PHP来决定如何处理数据.
这就是我到目前为止所拥有的
SELECT DATABASE() as source, title AS MAIN, id as ID, date
FROM collection WHERE userID = '1234'
UNION
SELECT DATABASE() as source, body, id, date
FROM blog WHERE posterID = '1234'
ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)
哪个效果很好并按日期排序,但"源"列只返回数据库"myusername.dabtabaseName"
无论如何,mySQL可以返回它来自的TABLE名称吗?我看了看手册但找不到任何东西.
谢谢.
为什么不简单?
SELECT DATABASE() as source, 'Collection' as TblName,title AS MAIN, id as ID, date
FROM collection WHERE userID = '1234'
UNION
SELECT DATABASE() as source, 'Blog' as TblName,body, id, date
FROM blog WHERE posterID = '1234'
ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)
我怀疑SQL的任何方言都会为你提供一个函数来指示查询的表名,因为你可以有子查询,连接等.
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |