SQL Server 2005를 사용하고 있습니다. 두 행을 하나로 병합하려고했습니다.SQL에서 두 행을 하나로 병합
ID 번호와 ApprovalCode NULL 값을 제외하려면 도움이 필요합니다.
SELECT DISTINCT CASE
WHEN (CONVERT(varchar(12), t1.referenceInfo)) like '1000%' THEN
(+ '"') + RTRIM(CONVERT(varchar(12), t1.referenceInfo)) + '"'
ELSE
'0'
END AS [ identity number ],
CASE
WHEN LEN(ISNUMERIC(CONVERT(varchar(12), t2.referenceInfo))) < 12 THEN
(+ '"') + RTRIM(CONVERT(varchar(12), t2.referenceInfo)) + '"'
WHEN (CONVERT(varchar(12), t2.referenceInfo)) LIKE '10%' THEN
(+ '"') + RTRIM(CONVERT(varchar(12), t2.referenceInfo)) + '"'
ELSE
'0'
END AS approvalcode
FROM dbo.GUEST_CHECK_LINE_ITEM_HIST t1
INNER JOIN dbo.GUEST_CHECK_LINE_ITEM_HIST t2
ON t1.guestCheckID = t2.guestCheckID
WHERE t1.guestCheckID = 78362401
AND (t1.referenceInfo) LIKE '1000%'
and (t2.referenceInfo) NOT LIKE '1000%'
--AND LEN(ISNUMERIC(CONVERT(varchar(12), t2.referenceInfo))) < 12
GROUP BY t1.referenceInfo, t2.referenceInfo
참조 테이블 내가 값을 주차하는 식별 번호 1만% 추천하고 값 승인 코드 이하 12 개 자리를 주차 원 http://postimg.org/image/45q41bogf/
아래로. 승인 코드가 12 자리 미만이면 null입니다.
감사합니다이
결과에 나를 도울 수 있다면 http://postimg.org/image/ngr9yzb6z/
나는 질문을 편집했다. 제발 도와주세요. ID 필드에 1000XXX로 시작하는 모든 숫자가 필요하고 승인 코드에서 10XXXX로 시작해야했습니다. 승인 코드에 10을 반환하는 숫자 시작은 없습니다. – alexcctan