-1
다른 노동 조합에 가입하려는 2 개의 일련의 노동 조합이 있습니다. 처음에는 3 개가 있는데 Selects
이고 두 번째에는 2 개가 있습니다 Selects
입니다.여러 개의 공용체가 결합되어 있고 별칭으로 발행되는 경우
Select id, min(value)
from table1 t1
join (Select id, value
Union
Select id, value
Union
Select id, value) as foo
on foo.id=t1.id
Group by id
Select id, max(value)
from table1 t1
join (Select id, value
Union
Select id, value) as bar
on bar.id=t1.id
Group by id
나는이 두 가지의 결합을 시도했지만 꽤 복잡했다. 내 가장 큰 문제는 내 별칭입니다. 내 두 번째 사례는 내 가치 항목 열과 연결된 사례로 가치 평가를 원합니다.
Select (alias).id,
Case
When foo.value= 0 or bar.value=1 THEN 1
Else 0
End as value
from table1 t1
Join (Select id, min(value)
from table1 t1
join (Select id, value
Union
Select id, value
Union
Select id, value) as foo
on foo.id=t1.id
Group by id
UNION
Select id, max(value)
from table1 t1
join (Select id, value
Union
Select id, value) as bar
on bar.id=t1.id
Group by id) as (alias)
on ??.id=??.id
나는 내 경우에는 내가 작성해야한다고 생각하는 방법을 썼다지만, 같은 이름을 가진 두 개 이상의 열이있을 때 일반적으로, SQL은 같은 모호한 상태. 내가
UNION
또는
INTERSECT
을 사용해야하는지 아직도 확신 할 수는 없지만 둘 중 하나가 같은 방식으로 수행된다고 가정합니다. 어떻게해야합니까? 나는이 권리를 읽고 있어요
같은 것이 최종 쿼리와 논리적 인 문제가 있습니다 원하는 : 귀하의 경우에는 조건'때 foo.value = 0 또는 bar.value = 1' - 외부 질의에는 어떤 값이 어떤 서브 쿼리에서 왔는지 알 수있는 방법이 없습니다. 뿐만 아니라'UNION'과'INTERSECT'는 상당히 다른 것들을합니다. 당신이하고 싶은 것은 분명하지 않습니다. * 어떻게 * 당신이 그것을하려고하는지, 아니면 현재 당신이 가지고있는 정확한 * 문제를 설명하기 위해 * 당신이 무엇을하려고하는지 설명하기 위해 당신의 질문을 다시 말해 줄 수 있습니까? –
테이블 레이아웃을 제공 할 수 있습니까? 그리고 당신은 무엇을하려고합니까? – Gimmy
원하는 것을 설명해주십시오. 당신의'union' 쿼리는'from' 절이 없습니다. 당신은'group by '없이 집계 함수를 사용하고 있습니다. 그리고 당신이 무엇을하려고하는지 명확하지 않습니다. –