【发布时间】:2020-09-26 18:22:56
【问题描述】:
我想将 3 个 MySQL 查询合并为 1 个
SELECT pic FROM active,
SELECT pic FROM deleted,
SELECT alt_pic FROM active where alt_pic!=''
我已经设法将前 2 个合为一个
SELECT pic FROM active UNION SELECT pic FROM deleted
我想我已经部分完成了所有 3 个的组合,除了我不知道在哪里插入第三个查询
SELECT COUNT(*) FROM (SELECT pic FROM active UNION SELECT pic FROM deleted)t
我只是为了好玩而学习。如果我以某种方式违反惯例或引入了一些安全风险,请不要生气:)
编辑 1:新手不知道,感谢 Mureinik 和 Strawberry 指出 :)
alt_pic 只是一个非常可选的字段,我的表 active 大约有 300+ 行但只填充了 8 个 alt_pic 字段
active
ID | name | pic | alt_pic
1 | Peter | pic5.jpg | alt1.jpg
2 | Mark | pic4.jpg | NULL
3 | John | pic3.jpg | alt2.jpg
deleted
ID | pic
1 | pic2.jpg
2 | pic1.jpg
我想要的结果是
pic_count | alt_pic_count
5 | 2
【问题讨论】:
-
你可以 SELECT ... UNION SELECT ... UNION SELECT .... UNION SELECT ... 随心所欲
-
帮助我们帮助您 - 请分享表结构、一些示例数据以及您希望获得的结果
-
@Mureinik 和 Strawberry 谢谢你指出这一点,我已经编辑过了 :)