如何在sql中获取except操作的计数值 [英] how to get the count value of an except operation in sql
问题描述
我使用了一个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屋!