임시 테이블 (#Result)에 데이터를 저장했습니다.
입력 매개 변수 인 경우 예를 들어 다른 정보를 표시 할 수 있습니다.
ListA 포함 :
ID FirstName
123 Peter
456 Ben
789 Eric
목록 B :
ID FirstName
123 Peter
888 Jack
999 Mary
목록 A와 목록 B를 모두 생성 할 때 FirstName, ID가 모두 나타나면 해당 FirstName의 세부 정보를 수행하는 방법 ID는 목록 B에서 제외되고 목록 A에만 표시됩니다 (중복 방지).
사용할 수있을 것 같아요
not exists
목록 B (123 Peter)를 삭제하는 방법과 동일한 임시 테이블을 비교하는 방법.
아래는 내 질문입니다! 감사합니다!
Alter proc [dbo].xxxxx
@List varchar(5)
as
BEGIN
SET NOCOUNT ON;
CREATE TABLE #Result
(
iList char(1),
[ID] nvarchar(100),
[FirstName] nvarchar(100),
)
if @iList like '%A%'
BEGIN
insert into #Result
Select
iList = 'A',
[ID] = ab.[ID],
FirstName = ab.[FirstName]
from xxxx
end
if @iList like '%B%'
BEGIN
insert into #Result
Select
iList = 'B',
[ID] = ab.[ID],
FirstName = ab.[FirstName]
from xxxx
where not exists (select 1 from #Result where b.id = a.id)<----(not sure);
end
select * from #Result
end
결과 기대
목록 A :
ID FirstName
123 Peter
456 Ben
789 Eric
목록 B
ID FirstName
888 Jack
999 Mary
- 답변 # 1
- 답변 # 2
테이블 별칭을 이해하는 것이 좋습니다. 테이블의 별칭을 지정한 다음 별칭을 사용하여 해당 테이블을 참조합니다. 예를 들어 별칭이
xxxx
같이X
그런 다음 사용X
그때부터 그 테이블을 참조합니다. 그리고 하위 쿼리에서 다른 별칭으로 테이블 별칭을 지정해야합니다.R
. 이제 가장 좋은 방법은 테이블 이름을 나타내는 문자를 사용하는 것입니다.X
과R
그러나 실제 테이블 이름에 맞게 변경해야합니다.insert into #Result (iList, ID, FirstName) select iList = 'B', [ID] = X.[ID], FirstName = X.[FirstName] from xxxx X where not exists (select 1 from #Result R where R.id = R.id);
관련 자료
- JQuery를 사용하여 동적 HTML 테이블에서 선택한 행 값을 얻는 방법은 무엇입니까?
- text processing - 한 테이블에서 값을 찾고 join/awk를 사용하여 다른 테이블에 출력
- sapui5 - 테이블 그룹화는 새 항목을 추가 할 때 선택한 값을 재설정합니다
- 행 내의 셀 값을 비교하기위한 Excel 조건부 서식
- html - Javascript에서 두 값을 비교 한 다음 매핑
- sql - 테이블로 JSON 가져 오기에 모든 null 값이 표시되는 이유는 무엇입니까?
- shell - Bash의 변수를 기반으로 특정 TSV 테이블 행에서 값 추출
- sql - 동일한 테이블에있는 두 열의 값을 비교하고 새 열 만들기
- Python에서 사전 목록의 값 비교
- arrays - 테이블이 존재하고 값이있을 때 nil을 반환하는 Table [1]
- c++ - 모든 인덱스를 -1로 특별히 코딩하더라도 가비지 값이 해시 테이블의 값으로 초기화되고 있습니다
- Python에서 Beautiful Soup을 사용하여 동일한 태그 이름으로 HTML에서 테이블 값 검색
- MySQL 테이블에서 값을 가져 와서 Java에서 만든 클래스의 배열 목록으로 설정하려면 어떻게해야합니까?
- javascript - 두 텍스트 입력을 쉼표로 구분 된 값과 비교하면 한 입력에 다른 입력 내에있는 값만 포함 된 경우 true가 반환됩니다
- typescript - 테이블 Angular에서 배열 값 수정
- python - 정규식을 사용하여 pandas 열 값을 텍스트 파일의 단어와 비교
- kable - 두 데이터 프레임에서 값 비교 R
- excel - 2 개의 셀 값을 비교합니다 5 개 이상의 연속 문자가 일치하는 경우
- 다른 열의 값을 기반으로 한 열의 두 값 비교 (SQL Server)
귀하의 SQL이 맞습니다. 아직도 이해할 수없는 의심은
데이터 세트에 대한 개념을 알아야한다고 생각합니다.
데이터베이스는 테이블의 데이터를 직접 비교 (또는 사용)하지 않습니다. 테이블 스페이스 파일이라는 디스크에 데이터가 저장되어있는 테이블에서 데이터를 메모리로 가져옵니다. 데이터 세트는 SQL에서 데이터베이스 쿼리를 허용하는 데이터입니다.