2015-05-28 3 views
0

Я ищу небольшую помощь, пытаясь написать SQL-запрос, потому что, ну ... я сосать на нем.SQL-запрос (T-SQL)

Это фрагмент того, что моя таблица выглядит следующим образом:

CUSTOMERID DEVICEID STATE 
GUID-1  DEVICE-1 UP 
GUID-1  DEVICE-2 UP 
GUID-1  DEVICE-3 UP 
GUID-2  DEVICE-1 DOWN 
GUID-2  DEVICE-2 DOWN 
GUID-2  DEVICE-3 DOWN 
GUID-3  DEVICE-1 UP 
GUID-3  DEVICE-2 UP 
GUID-3  DEVICE-3 DOWN 

В приведенном выше примере, клиент GUID-1 и GUID-2 имеют все свои устройства UP или все из них вниз. Я хочу, чтобы эти результаты отображались в моем запросе. Я собираюсь найти GUID-3 клиента. Это клиент, которого я хочу показать в результатах моего запроса, потому что у них есть устройства, которые являются UP и DOWN.

Для чего все клиенты имеют одинаковое количество устройств в приведенном выше примере 3, но в моей базе данных больше.

Любой запрос, пишущий гуру там?

Chuck

+0

Если это T-SQL, как вы указали, то это либо Sybase или SQL Server - пожалуйста, помечать Соответственно –

ответ

2

Если вы просто хотите КодКлиента, то это group by запрос:

select customerid 
from snippet t 
group by customerid 
having min(state) <> max(state); 
+0

Спасибо, это именно то, что мне нужно! – Chuck