我编写了一个sql查询,用于计算(在三个表上)与ID相关的行:
SELECT
(SELECT `Id` FROM `Tab1` WHERE `Id` = '1') AS ID,
(SELECT COUNT(*) FROM `tab1` WHERE `Id` = '1') AS RowsTab1,
(SELECT COUNT(*) FROM `tab2` WHERE `Id` = '1') AS RowsTab2,
(SELECT COUNT(*) FROM `tab3` WHERE `Id` = '1') AS RowsTab3
但是,我需要在一个ID数组上使用它,以便查询结果是一个表,该表针对每个ID显示三个表中的每个表中有多少行。
结果应该是这样的:
ID RowsTab1 RowsTab2 RowsTab3
1 2 4 2
2 3 0 8
5 0 2 4
等等
有一种方法可以只对一个查询执行此操作吗?
我想澄清一下查询将使用Excel-VBA执行
提前致谢
如果我对您的理解正确,这应该可以解决您的问题:
SELECT Tab0.id,
(SELECT COUNT(*) FROM `tab1` WHERE `Id` = Tab0.Id) AS RowsTab1,
(SELECT COUNT(*) FROM `tab2` WHERE `Id` = Tab0.Id) AS RowsTab2,
(SELECT COUNT(*) FROM `tab3` WHERE `Id` = Tab0.Id) AS RowsTab3
FROM Tab0 WHERE field1 = 'myvalue'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句