2014-11-13 4 views
-1

Как создать SQL-запрос, который подсчитывает одно и то же значение в одном столбце?SQL Server несколько значений в разделе where

Например, клиент может иметь несколько счетов-фактур с тем же именем, но с другим идентификатором.

Итак, у Карла 2 счета-фактуры с именем Телефон.

Как бы вы это применили в запросе?

Если я хочу перечислить лиц, имеющих 2 счета-фактуры с определенным именем?

+2

Post таблицы схемы здесь – TheProvost

ответ

2

попробовать это,

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

трудно без схемы таблицы, ваш запрос должен выглядеть следующим образом:

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 
0

Try:

SELECT name, count(invoices) 
FROM table 
WHERE name='Phone' 
GROUP BY name 
HAVING count(invoices) > 1 
0

Это дает всем клиентам й на, по крайней мере два счета с именем «Телефон»:

select customer 
from invoice 
where invoice_name = 'Phone' 
group by customer 
having count(*) >= 2; 
Смежные вопросы