Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server where子句中的多个值_Sql_Sql Server 2008 - Fatal编程技术网

SQL Server where子句中的多个值

SQL Server where子句中的多个值,sql,sql-server-2008,Sql,Sql Server 2008,如何创建在同一列中计算相同值的SQL查询 例如,一个客户可以有多个名称相同但ID不同的发票 卡尔有两张发票,上面写着电话 您将如何在查询中使用它 如果我想列出有两张发票且有特定名称的人员?没有表架构很难,但您的查询应该如下所示: SELECT CustomerName from Invoice GROUP BY CustomerName,InvoiceName HAVING COUNT(InvoiceName)>1 SELECT CustomerName from Invoice W

如何创建在同一列中计算相同值的SQL查询

例如,一个客户可以有多个名称相同但ID不同的发票

卡尔有两张发票,上面写着电话

您将如何在查询中使用它


如果我想列出有两张发票且有特定名称的人员?

没有表架构很难,但您的查询应该如下所示:

SELECT CustomerName from Invoice 
GROUP BY CustomerName,InvoiceName
HAVING COUNT(InvoiceName)>1
SELECT CustomerName from Invoice 
WHERE InvoiceName='Phone'
GROUP BY CustomerName,InvoiceName
HAVING COUNT(InvoiceName)>1 
如果您使用的是客户id,则可以在对其进行分组之前先加入该id,如果您需要查询特定发票,则可以按如下方式进行:

SELECT CustomerName from Invoice 
GROUP BY CustomerName,InvoiceName
HAVING COUNT(InvoiceName)>1
SELECT CustomerName from Invoice 
WHERE InvoiceName='Phone'
GROUP BY CustomerName,InvoiceName
HAVING COUNT(InvoiceName)>1 
尝试:


这将为您提供至少有两张发票名为“Phone”的所有客户:

select customer
from invoice
where invoice_name = 'Phone'
group by customer
having count(*) >= 2;
试试这个

SELECT invoicenumber,
       name,
       count
FROM   (SELECT invoicenumber,
               name,
               Count(1) AS count
        FROM   TABLE1
        GROUP  BY invoicenumber,
                  name)
WHERE  count = 2; 

在这里发布表模式