2016-12-07 8 views
0

작은 2 열 테이블이 있습니다. 열은 A와 B입니다. 열 A는 반복되는 값을 표시하지 않도록 구분되어야합니다. B 열에는 쿼리에서 선택된 모든 것이 있어야하므로 A에 값에 대한 B 값이 여러 개인 경우 여러 값이 표시됩니다. 이 작업을 수행 할 쿼리를 작성하려면 어떻게합니까?DISTINCT 한 열에 대해 쿼리하지만 다른 열에는 쿼리하지 않습니다.

중복 된 항목이 사라지는 동안 ... 드롭 다운에 빈 공간이 있습니다.

enter image description here

+2

샘플 데이터와 예상되는 결과는 내가 샘플 데이터의 사진을 추가 –

+0

문제 더 설명하고 내가 그것을보고 싶은 것이 무엇 like – Rataiczak24

+0

응용 프로그램 계층에서이 작업을 수행하는 것이 좋습니다. 또한'2'를 표시 할 행의 4 행 중'2'에 대해 4 행이 있습니까? –

답변

3

당신은 그것을 단순화하기 위해 CTE를 사용할 수 있습니다

WITH CTE AS 
(
    SELECT A, B, 
      RN = ROW_NUMBER() OVER (PARTITION BY A ORDER BY A, B) 
    FROM dbo.TableName 
) 
SELECT A = CASE WHEN RN = 1 THEN Cast(A as varchar(50)) ELSE '' END, 
     B 
FROM CTE 
+0

PHP에서 변수에 할당하면 어떻게 될까요? – Rataiczak24

+0

@ Rataiczak24 : 나는 그 질문을 이해하지 못한다. 그것은 단지 SQL 쿼리입니다. –

+0

좋아, 내가이 쿼리를 사용하여 이제 열 A의 모든 중복 번호는 지금 0이며 여전히 볼 수있다. – Rataiczak24