需求是这样的,我有一个基础表T,里面有ID
然后有三四个表引用了T表里的ID,(table1,2,3,4)
我删除T表数据的时候需要判断这4个从表里是否有引用过当前这条数据的ID (没有设主外键)
我现在是一个表查一次,4个表查4次,有没有什么语句可以一次性查4个表中符合条件的行数总计?
------解决思路----------------------
四个表union all然后count
------解决思路----------------------
-- 把子查询做成一个 function 比较方便。
-- PS : TSQL 是 SQL Server 。。。。
select SUM(rn) from (
select COUNT(*) as rn from t1 where id = 100
union all
select COUNT(*) from t2 where id = 100
union all
select COUNT(*) from t3 where id = 100
union all
select COUNT(*) from t4 where id = 100
)