繁体   English   中英

Mysql:如何在UNION之前添加虚拟列

[英]Mysql: how to add a virtual column before UNION

我想为我的语句的第一个联合的所有结果添加一个虚拟列'enabled' = 1 ,并为下一个联合添加'enabled' = 0 这是我到目前为止的陈述......

SELECT p.*
FROM member_permissions mp
JOIN permissions p ON p.permission_id = mp.permission_id
WHERE member_id = 1
UNION
SELECT pgp
FROM member_permissions mp
JOIN permission_link pl ON pl.permission_group_id = mp.permission_group_id
JOIN permissions pgp ON pgp.permission_id = pl.permission_id
WHERE member_id = 1
UNION        // this will have enabled = 0 //    
SELECT *
FROM permissions        

只需将新列指定为源:

select column1, column2, ..., 1 as enabled
from ....
union
select column1, column2, ..., 0 as enabled
from ....

请注意,使用union时,必须使用具有相同数据类型的相同数量的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM