개별 출력`두 테이블을 비교하고, I는 두 개의 테이블이 같은 값을 가질
CREATE TABLE Location (ID int ,Location Varchar(500))
INSERT INTO Location values (1,'Loc3'),(2,'Loc4'),(3,'Loc5'),(4,'Loc7')
CREATE TABLE InputLocation (ID int ,Location Varchar(500))
Insert into InputLocation values(1,'Loc1,Loc2,Loc3,Loc4,Loc5,Loc6')
I 표 InputLocation
및 필요성 테이블 Location
각 값을 매칭시킴으로써 출력을 얻기 위해 필요한 바와 같이 결과를 디스플레이 2 테이블과 일치하지 중 출력, 즉 Loc1,Loc2,Loc6
을 표시,이 같은 일부 코드를 시도하고 일했다하지만 난, 어떤 도움도 대단히 감사하겠습니다 더 간단한 코드가 필요
내 코드 :
SELECT STUFF((select ','+ Data.C1
FROM
(select
n.r.value('.', 'varchar(50)') AS C1
from InputLocation as T
cross apply (select cast('<r>'+replace(replace(Location,'&','&'), ',', '</r><r>')+'</r>' as xml)) as S(XMLCol)
cross apply S.XMLCol.nodes('r') as n(r)) DATA
WHERE data.C1 NOT IN (SELECT Location
FROM Location) for xml path('')),1,1,'') As Output
두 table.without 관계 사이의 관계는 불가능합니다. 두 번째로 기술적으로 xml 경로를 사용하고 싶지 않은 이유를 기술적으로 명확히해야합니다. 성능 관련이 있다면, 미안합니다. 첫 번째 장소에서 요구 사항을 제대로 처리하지 못합니다. 다른 방법으로는 재귀 CTE가 될 수 있지만 성능은 최악입니다. – KumarHarsh
id가 관계 –
입니다. 성능이 나에게 우선적으로 우선적이지 않습니다. –