source

오류 메시지와 함께 SQL 쿼리에 대한 도움이 필요합니다. Operand에는 열 1개가 포함되어야 합니다.

lovecheck 2023. 10. 14. 10:19
반응형

오류 메시지와 함께 SQL 쿼리에 대한 도움이 필요합니다. Operand에는 열 1개가 포함되어야 합니다.

굿데이

다음 쿼리가 있지만 '운영자는 열을 하나 포함해야 합니다'라는 오류 메시지가 표시됩니다.

어떤 도움이라도 주시면 대단히 감사하겠습니다.

UPDATE expenditure
SET BP = (
    SELECT * ,
           SUM(balance_provision - actual_amt_voucher) over (partition by voteid order by expenditureid) AS BalanceProvision
    FROM expenditure
)

열을 업데이트하려는 것 같습니다.bp창금액으로

하나의 열에 여러 열이 있는 결과 집합을 할당하려고 하면 쿼리가 실패합니다.

그러나 하위 쿼리에서 스칼라 값을 반환하는 경우에도 MySQL은 대상 테이블의 재사용을 허용하지 않기 때문에 이것은 작동하지 않을 것입니다.update부차적으로

대신에, 당신은 사용할 수 있습니다.update ... join통사론가정하에expenditureid는 이름에서 알 수 있듯이 테이블의 기본 키입니다.

update expenditure e
inner join (
    select 
        expenditureid, 
        sum(balance_provision - actual_amt_voucher) over (partition by voteid order by expenditureid) bp
    from expenditure
    group by expenditureid
) e1 on e.expenditureid = e1.expenditureid
set e.bp = e1.bp

언급URL : https://stackoverflow.com/questions/62516657/need-assistance-with-sql-query-with-error-message-operand-should-contain-1-colum

반응형