여러 쿼리를 통합하는 데 유니온 all을 사용하고 있지만 유니온 모두가 0 값을위한 빈 행을 삽입하지 않습니다. 나는 사이트의 모양을 가져다가이 질문에 따라, 그것은을 포함해야한다 :SQL 유니온이 모두 0 값을 포함하지 않음
이 내 쿼리입니다 :
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 1 and SMTH > 0)
union all
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 2 and SMTH > 0)
union all
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 3 and SMTH > 0)
union all
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 4 and SMTH > 0)
결과 :
10068
3967
895
개의 독립적 검색어 :
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 1 and SMTH > 0)
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 2 and SMTH > 0)
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 3 and SMTH > 0)
select [SMTH] from [H].[D].[T]
where Date = (SELECT MAX(DATE) from [H].[D].[T] where Data = 4 and SMTH > 0)
결과 :
그러니까 기본적으로 나는 앞의 질문에서 대답이 옳다고 생각하기 때문에10068
3967
0
895
, 내가 무슨 일을하고 있는가?
감사합니다.
당신이 MySQL은 있는지 위치 : 테이블 (이 쿼리 ID) 기본 키가있는 경우
: 어떤 방법이 쿼리는
union
보다 더 깨끗? 식별자에'[] '를 사용하는 것은 Sql Server의 전형입니다. –이것은 SQL이지만 이전에 대답 한 질문은 MySQL – Eduardo
입니다. 1. '날짜'값이 테이블 내에서 고유합니까? 2. 네 가지 독립적 인 쿼리에 대한 결과를 어디에서 어떻게 정확히 얻었습니까? 세 번째 쿼리가 실제로 행을 만들지 않았고 결과를 반환 한 응용 프로그램이 기본값으로 '0'을 표시하는 것일 수 있습니까? –