2017-01-09 15 views
0

저는 SQL과 프로그래밍에 비교적 익숙하므로 조금만 기다려주십시오.SQL 쿼리에서 절을 변수로 사용하려면 어떻게해야합니까?

나는 다음과 같은 세 개의 열이있는 테이블이 있습니다 그것은 정확한 색상 (모든 펜 inkID = 2를 보내고에

penID inkID color 
01  2  red 
02  2  red 
03  2  red 
04  1  blue 
05  1  blue 
06  3  black 
07  3  purple 
08  -5  yellow 

매일 펜에 고유 한 penID 거기를 모든 inkID은 일치해야해야 적색에만 해당) 그러나 우리는 추적해야 할 몇 가지 예외가있다. 이제 일련 번호가 아닌 수천 개의 잉크 ID가 있다고 가정하십시오 (2,6,7,8,11..)

사용 가능한 모든 잉크 ID 목록을 얻는 쿼리였습니다. 실행하고 싶습니다. 모든 단일 InkID에 대해 다른 쿼리를 수행하여 동일한 잉크 ID에 대해 고유 한 색상이 있는지 확인합니다.

수천 명이 있기 때문에 수천 개의 쿼리 (수작업으로 작성하지 않아도 됨)를 사용하지 않고도 수천 가지 방법을 알지 못합니다. 첫 번째 쿼리의 출력을 목록에 저장하고 두 번째 쿼리의 모든 목록 항목을 변수로 전달하기 위해 C# 프레임 워크를 사용하려고했지만 그게 가능한지 모릅니다.

이 지금까지 내 두 번째 쿼리입니다 :

Select distinct Color 
from TableName 
where InkID = 12 

어떤 제안 내가 사용할 수있는 다른 방법이 있나요 (의 토론을 위해서 12 가정 해 봅시다)? 당신이 할당 된 하나 개 이상의 색상으로 InkIDs을 모두 반환됩니다

SELECT inkID, COUNT(DISTINCT color) 
FROM TableName 
GROUP BY inkID 
HAVING COUNT(DISTINCT color) > 1; 

을 할 경우

사전

+0

왜 수천 개의 쿼리를 작성해야한다고 생각하십니까? 기본 SQL 튜토리얼에서 Google 검색을하는 것이 좋습니다. 또한 매개 변수화 된 쿼리를 예제로 온라인으로 호출하는 방법을 구성하는 방법도 있습니다. – MethodMan

+0

이 대상에 작품을 포함 시키면 멋질 것입니다. –

+1

' 잉크 찌꺼기 선택, 잉크 찌르기에 의한 테이블 그룹에서의 뚜렷한 색 (뚜렷한 색)은 각각의 잉크 색과 얼마나 많은 뚜렷한 색의 목록을 제공해야합니다. 실제로 색상을 원한다면 '테이블에서 뚜렷한 잉크 색을 선택하십시오.' – juharr

답변

1

에 감사드립니다.

+1

'DISTINCT'는 기능이 아닙니다 !!! 'COUNT (DISTINCT color)'는 코드를 명확하게 해줍니다! – jarlh

+0

그 덕분에 고맙습니다. – Ylenia88m