如何在sql中获取except操作的计数值 [英] how to get the count value of an except operation in sql

查看:92
本文介绍了如何在sql中获取except操作的计数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我使用了一个except操作im ma sql查询。但我想要的是那个结果的数量。如何做到这一点?



我拥有的2个表是:Tb_Doc,Tb_UserDoc



两个表都有字段doc_name。我想打印在Tb_Doc中但不在Tb_UserDoc中的doc_names的数量。



我使用以下内容打印doc_names ...



从Tb_Doc中选择doc_name,除了从Tb_UserDoc中选择doc_name;



但是我想要它的数量......


I have used an except operation im ma sql query. But what i want is the count of that result.How to do this?

The 2 tables I have are: Tb_Doc, Tb_UserDoc

Both tables have field doc_name. I want to print the no of doc_names which is in Tb_Doc but not in Tb_UserDoc.

I used the following to print the doc_names ...

select doc_name from Tb_Doc except select doc_name from Tb_UserDoc ;

But I want its count...

推荐答案

尝试:

Try:
SELECT  COUNT(d.*) FROM TbDoc d
LEFT JOIN Tb_UserDoc u ON d.doc_name = u.doc_name
WHERE u.doc_name IS NULL

对于计数,或

For the count, or

SELECT  d.doc_name FROM TbDoc d
LEFT JOIN Tb_UserDoc u ON d.doc_name = u.doc_name
WHERE u.doc_name IS NULL

对于实际名称


你可以试试这个



You could try this

select COUNT(doc_name ) from
(select doc_name from Tb_Doc except select doc_name from Tb_UserDoc) docs


如果我理解你的话......

If i understand you well...
SELECT doc_Name, COUNT(doc_name) AS CountOfDoc
FROM Tbl_doc
WHERE doc_name NOT IN(SELECT doc_name FROM Tbl_UserDoc)
GROUP BY doc_Name





如需了解更多信息,请参阅:

IN(sql) [ ^ ]

NOT(sql) [ ^ ]

EXCEPT和INTERSECT(sql) [ ^ ]



For further information, please see:
IN (sql)[^]
NOT (sql)[^]
EXCEPT and INTERSECT (sql)[^]


这篇关于如何在sql中获取except操作的计数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆