두 SELECT 문 결과 결합
2개의 sql의 결과에 참여할 수 있습니까?SELECT
하나의 스테이트먼트에 대해 설명하시겠습니까?각 레코드가 개별 작업이고 마감일이 있는 작업(및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
잘 작동합니다. 이 답변 감사합니다!
2개의 선택 스테이트먼트도 동작합니다.LEFT JOIN
가입하는 것도 효과가 있고, 저는 이제 어떻게 여러 개에 가입할 수 있는지 이해했습니다.select
이런 식으로
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 http://msdn.microsoft.com/en-us/library/ms180026.aspx에서 이를 수행하기 위한 MSDN 문서는 다음과 같습니다.
UNION ALL - 결과 세트를 결합합니다.
UNION - Set Union과 같은 작업을 수행하며 중복된 값을 출력하지 않습니다.
예와의 차이에 대해서는http://http://sql-plsql.blogspot.in/2010/05/difference-between-union-union-all.html 를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/10538539/join-two-select-statement-results
'programing' 카테고리의 다른 글
ASP를 사용하는 가장 큰 장점.넷 MVC 대 웹 폼 (0) | 2023.04.22 |
---|---|
Unix 쉘 스크립트에서 환경 변수가 설정되어 있는지 확인하는 간결한 방법은 무엇입니까? (0) | 2023.04.22 |
문자열에 다른 문자열이 포함되어 있는지 확인합니다. (0) | 2023.04.22 |
Azure DevOps에서 슬래시가 있는 지점 이름을 얻는 방법 (0) | 2023.04.22 |
"NODE_ENV"는 내부 또는 외부 명령어, 작동 가능한 명령어 또는 배치 파일로 인식되지 않습니다. (0) | 2023.04.22 |