이 SQL 쿼리에는 타사 소프트웨어를 사용하는데,이 제한에는 1,000 자 제한의 문자 제한이 있습니다. 특정 계정에 등록 된 연락처 목록을 통해 가져올 코드를 만들고이 작업을 위해 특별히 만든보기를 만들었습니다. 현재 스크립트 (아래 참조)는 작동하지만 중복 응답을 반환합니다. 코드의 길이를 줄이고 Distinct 응답 만 선택하려고합니다.내 SQL 코드 길이 줄이기
배경으로이 CRM 시스템에는 여러 곳에서 연락처를 남길 수 있기 때문에 응답을 표시 할 때 중복 된 코드를 제거해야합니다. 현재 코드는입니다, 인해 전술 문자 제한에 중복을 제거하려고하지 않습니다
SELECT [Contact_Mobile_Phone] AS V, [Contact_Mobile_Phone] AS D
FROM [DatabaseName]
WHERE MAINLKUPID = '{Import.TenantID}' AND [Contact_Mobile_Phone] IS NOT NULL
UNION ALL
SELECT [Contact_Home_Phone] AS V, [Contact_Home_Phone] AS D
FROM [DatabaseName]
WHERE MAINLKUPID = '{Import.TenantID}' AND [Contact_Home_Phone] IS NOT NULL
UNION ALL
SELECT [Contact_Work_Phone] AS V, [Contact_Work_Phone] AS D
FROM [DatabaseName]
WHERE MAINLKUPID = '{Import.TenantID}' AND [Contact_Work_Phone] IS NOT NULL
UNION ALL
SELECT [Group_Home_Phone] AS V, [Group_Home_Phone] AS D
FROM [DatabaseName]
WHERE MAINLKUPID = '{Import.TenantID}' AND [Group_Home_Phone] IS NOT NULL
UNION ALL
SELECT [Group_Mobile_Phone] AS V, [Group_Mobile_Phone] AS D
FROM [DatabaseName]
WHERE MAINLKUPID = '{Import.TenantID}' AND [Group_Mobile_Phone] IS NOT NULL
UNION ALL
SELECT [Contact_Home_Phone] AS V, [Contact_Home_Phone] AS D
FROM [DatabaseName]
WHERE [Group_ID] = '{Script.V1}' AND [Contact_Home_Phone] IS NOT NULL
UNION ALL
SELECT [Contact_Mobile_Phone] AS V, [Contact_Mobile_Phone] AS D
FROM [DatabaseName]
WHERE [Group_ID] = '{Script.V1}' AND [Contact_Mobile_Phone] IS NOT NULL
UNION ALL
SELECT 'Enter other number' AS V, 'Enter other number' AS D
당신이 볼 수 있듯이, 그것은 내가 코딩 한 가장 우아한 것은 아니다.
SELECT DISTINCT ([Contact_Mobile_Phone], [Contact_Home_Phone], [Contact_Work_Phone], [Group_Home_Phone], [Group_Mobile_Phone]) V,
([Contact_Mobile_Phone], [Contact_Home_Phone], [Contact_Work_Phone], [Group_Home_Phone], [Group_Mobile_Phone]) D
FROM [DatabaseName]
WHERE MAINLKUPID = '{Import.TenantID}' AND ([Contact_Mobile_Phone], [Contact_Home_Phone], [Contact_Work_Phone], [Group_Home_Phone], [Group_Mobile_Phone]) IS NOT NULL
AND MAINLKUPID = '{Import.TenantID}' AND ([Contact_Mobile_Phone], [Contact_Home_Phone], [Contact_Work_Phone], [Group_Home_Phone], [Group_Mobile_Phone]) IS NOT NULL
기준은 그것이 그것은 널 데이터를 당기지 할 필요가 열 V와 D 모두에서 같은 결과를 표시 할 필요가 있다는 것입니다, 그리고 : 내가 그것을 같이보고 싶은 것은이 비슷한입니다 원래 각기 다른 열에서 왔더라도 각 열에 한 번만 각 번호를 입력해야합니다. 내 이상적인 코드 구문이 옳지 않다는 것을 알고 있습니다. 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. 미리 감사드립니다.
이 변화하는 간단한 문제입니다 '노조'와'노조'모두. –
나는 이것을 여러 번 읽었으며 읽을 때마다 실제로 여기에서 원하는 것이 더 혼란 스럽다. 그러나 @DanBracuk이 이미 중복 제거는 쉽게 언급했듯이. –
샘플 데이터를 추가하고 예상되는 결과를 보여줄 수 있습니까? –