두 개의 SELECT 문 결과에 참여
SELECT
하나의 명령문 으로 2 개의 SQL 문 결과를 결합 할 수 있습니까? 나는 마감 시간에 각 레코드는 별도의 작업은 작업의 데이터베이스가 (그리고 PALT
단지이며, INT
시작부터 마감 시간에 일을. Age
도이다 INT
일수.)
테이블에 각 사람이있는 테이블, 가지고있는 LATE
작업 수 및 가지고있는 작업 수 (있는 경우) 를 갖고 싶습니다 .
이 데이터를 별도의 테이블에 쉽게 가져올 수 있습니다.
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
다음과 같은 데이터를 반환합니다.
ks # Tasks
person1 7
person2 3
그리고 나는 가지고있다 :
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
다음을 반환합니다.
ks # Late
person1 1
person2 1
그리고 나는이 두 가지의 결과에 가입 할 select
(바이 문 KS
)
임시 테이블을 사용하지 않으려 고하지만 이것이 유일한 실용적인 방법이라면 임시 테이블을이 방식으로 사용하는 방법에 대해 더 알고 싶습니다.
또한 count()
조건부를 만족시키는 일종의 행을 시도 했지만 그 방법도 알 수 없었습니다. 가능하다면 작동합니다.
부록이 : 미안 해요, 난 내 결과 열을 위해 갖고 싶어 KS
, Tasks
하고,Late
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
또한 나는 늦은 과제가 없어도 사람이 나타나기를 원합니다.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
이 답변에 감사드립니다!
두 개의 select 문도 작동하며 a LEFT JOIN
를 사용 하여 결합해도 작동 하며이 방식으로 여러 select
s 를 결합하는 방법을 이해합니다.
SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]
FROM
(SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
LEFT JOIN
(SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON (t1.ks = t2.ks);
다음과 같이 해보십시오 :
SELECT
*
FROM
(SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1
INNER JOIN
(SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2
ON t1.ks = t2.ks
사용 UNION
:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
UNION
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
또는 UNION ALL
중복을 원할 경우 :
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
UNION ALL
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
Age와 Palt가 같은 테이블에있는 열이면 모든 작업을 계산하고 (*) 다음과 같이 늦은 작업 만 합할 수 있습니다.
select ks,
count(*) tasks,
sum(case when Age > Palt then 1 end) late
from Table
group by ks
이 UNION ALL
키워드를 사용할 수 있습니다 .
다음은 T-SQL에서 수행하는 MSDN 문서입니다. http://msdn.microsoft.com/en-us/library/ms180026.aspx
UNION ALL-결과 세트를 결합
UNION- 집합 조합과 같은 작업을 수행하고 중복 값을 출력하지 않습니다
예제와의 차이점 : http://sql-plsql.blogspot.in/2010/05/difference-between-union-union-all.html
참고 URL : https://stackoverflow.com/questions/10538539/join-two-select-statement-results
'development' 카테고리의 다른 글
Windows Workflow Foundation을 언제 사용해야합니까? (0) | 2020.06.09 |
---|---|
동적으로 가져온 모듈의 클래스 문자열 이름에서 동적 인스턴스화? (0) | 2020.06.09 |
링크가없는 JavaScript Blob 파일 이름 (0) | 2020.06.09 |
자바 세트 주문 유지? (0) | 2020.06.09 |
SQL Server 2008을 사용하여 여러 CASE WHEN 조건을 어떻게 수행합니까? (0) | 2020.06.09 |