我有这个查询(我为了简洁而删除了一些键):
SELECT id as in_id, out_id, recipient, sender, read_flag
FROM received WHERE recipient=1
UNION ALL
SELECT in_id, id AS out_id, recipient, sender, read_flag
FROM sent WHERE sender=1
Run Code Online (Sandbox Code Playgroud)
它结合了两个表的结果,显示给定用户发送和接收的消息.我想要做的是在结果中添加一个列/标志以区分该行所属的表,因此当我显示它时,我可以显示已发送或已接收消息的相关图标.我该如何添加?
Mar*_*ers 20
只需为每个查询添加一个常量列.只要它在两个部分都是相同的,那么类型是什么并不重要.所以你可以使用0和1或两个字符串,例如:
SELECT id as in_id, out_id, recipient, sender, read_flag , 'received' as source
FROM received WHERE recipient=1
UNION ALL
SELECT in_id, id AS out_id, recipient, sender, read_flag , 'sent' as source
FROM sent WHERE sender=1
Run Code Online (Sandbox Code Playgroud)