여러 쿼리에 UNION을 사용하려고하지만 내 하위 쿼리가 AVG를 사용하기 때문에 작동하지 않습니다.

MGilkies

기본적으로 6 개의 선택 쿼리 (가독성을 위해 두 개를 표시했지만 기본적으로 동일한 패턴을 표시 함)를 실행하고 union을 사용하여 단일 출력을 만들려고합니다. 그러나 쿼리를 실행할 때 다음 오류 중 2 개가 표시됩니다.

  • Msg.141 변수에 값을 할당하는 SELECT 문은 데이터 검색 작업과 결합되어서는 안됩니다.
  • Msg.10734 최상위 UNION, INTERSECT 또는 EXCEPT 연산자를 포함하는 문에는 변수 할당이 허용되지 않습니다.

유사한 질문을 이해하고 살펴 보았지만 작동하지 않는 것 같습니다.

출력을 다음과 같이하고 싶습니다.

|Tabe|Rent|Thd|
---------------------------------
|table1   | 9999      | 8888    |
|table2   | 9999      | 8888    |

어떤 제안이나 방향이라도 대단히 감사하겠습니다!

Charlieface

여기에 왜 변수가 필요한지 모르겠습니다. OVER모든 행의 평균을 계산하려면 절이 필요합니다 .

Select
    'table1' as TableName,
    count(*) as RecordCount,
    0.75 * AVG(count(*)) over ()
from table1
where @something = specificDate
group by specificDate

union all

Select
    'table2',
    count(*) as RecordCount,
    0.75 * AVG(count(*)) over ()
from table2
where @something = specificDate
group by specificDate;

귀하의 검색어가에서 필터링되는 것 같습니다 specificdate. 따라서 빈 세트로 그룹화 할 수 있습니다.group by ()

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관