code

SQL 결과가 서로 옆에 있습니다.

starcafe 2023. 9. 25. 22:51
반응형

SQL 결과가 서로 옆에 있습니다.

설명하기 어려운 다른 질문이 있습니다. 지금 제가 받고 있는 결과는 다음과 같습니다.

╔═════════╦════════╗
║    Id   ║ Saldo  ║
╠═════════╬════════╣
║    1    ║10441,91║
╠═════════╬════════╣
║    2    ║ 441,91 ║
╚═════════╩════════╝

그리고 이것이 제가 원하는 결과입니다 (서로 옆에).

╔═════════╦════════╗════════╗════════╗
║    Id   ║ Saldo  ║   Id   ║ Saldo  ║
╠═════════╬════════╣════════║════════║
║   1     ║10441,91║   2    ║ 441,91 ║
╚═════════╩════════╝════════╝════════╝ 

그래서 내가 원하는 것은 모두 옆에 있습니다.

이것이 제가 사용한 질문입니다.

SELECT 
    o.id_shop AS id,
    SUM(CASE
        WHEN (s.amount + s.shipping_cost_amount) != '' THEN o.total_paid_tax_excl - (s.amount + s.shipping_cost_amount)
        ELSE o.total_paid_tax_excl
    END) AS Shop
FROM
    expoled.ps_orders o
        LEFT JOIN
    expoled.ps_oxoquotation_quotation q ON q.idOrder = o.id_order
        LEFT JOIN
    expoled.ps_order_slip s ON s.id_order = o.id_order
WHERE
    o.current_state IN (4 , 5, 20, 23)
        AND YEAR(q.date_add) = YEAR(UTC_TIMESTAMP())
GROUP BY o.id_shop

제가 시도한 것은: UNION에서 결과 집합을 결합하려고 시도했지만 효과가 없었습니다.나는 그것들을 서로 아래에 둘 수는 있지만 옆에 둘 수는 없습니다.

당신은 항상 가능한 아이디가 1과 2 두개뿐입니까?그렇다면 GROUP BY o.id _shop을 제거하고 다음과 같은 방식으로 두 개의 합계 열을 생성할 수 있습니다.

SUM(CASE
    WHEN (s.amount + s.shipping_cost_amount) != '' AND o.id_shop = 1 THEN o.total_paid_tax_excl - (s.amount + s.shipping_cost_amount)
    WHEN (s.amount + s.shipping_cost_amount) = '' AND o.id_shop = 1 THEN o.total_paid_tax_excl
    ELSE 0
END) AS Shop_ID_1


SUM(CASE
    WHEN (s.amount + s.shipping_cost_amount) != '' AND o.id_shop = 2 THEN o.total_paid_tax_excl - (s.amount + s.shipping_cost_amount)
    WHEN (s.amount + s.shipping_cost_amount) = '' AND o.id_shop = 2 THEN o.total_paid_tax_excl
    ELSE 0
END) AS Shop_ID_2

언급URL : https://stackoverflow.com/questions/44069586/sql-results-next-to-each-other

반응형