我有2张桌子。
tbl1有列:
id1, someothercolumns
tbl2有列:
id2, id1, bool
我可以毫无问题地通过id1加入他们。我可以这样做:
SELECT tbl1.id1, Count(tbl2.id2) AS CountOfid2
FROM tbl1 LEFT JOIN tbl2 ON tbl1.id1= tbl2.id1
GROUP BY tbl1.id1;
但我不想计算tbl2中的所有项目,
bool=false
所以,我希望看到来自tbl1的所有记录,而不是计算来自tbl2的所有记录。我尝试使用sub-select,但Access不喜欢我的想法。 :( 你能救我吗?
答案 0 :(得分:2)
我找到了解决方案:
SELECT tbl1.id1, Count(tmptbl.id2) AS CountOfid2
FROM tbl1 LEFT JOIN (SELECT tbl2.id1, tbl2.id2 FROM tbl2 WHERE bool=false) as tmptbl ON tbl1.id1= tmptbl.id1
GROUP BY tbl1.id1;
给我饼干!
答案 1 :(得分:0)
请测试这个脚本:
select distinct t1.id1,t4.countofID2 from tbl1 t1
left outer join
(select t3.con as countofID2 ,* from tbl2
,(SELECT COUNT(t2.id2)as con
FROM tbl2 t2) as t3)as t4
on(t1.id1=t4.id1)
快乐.....