联盟两个SQL查询有一个相同的列(使用机锋)
问题描述:
我有两个疑问这应该是工会(与laravel雄辩),但有一个名为group_date重复列在查询和我应该给他们一个联盟两个SQL查询有一个相同的列(使用机锋)
SELECT
to_char(CREATE_UTC_DATETIME, 'yyyy-mm-dd') AS group_date,
COUNT(*) AS successful_transaction
FROM "REPORT_EVENTS"
WHERE "RESULT_CODE" = '0' AND "EVENT_TYPE" = 'BILL'
GROUP BY to_char(CREATE_UTC_DATETIME, 'yyyy-mm-dd')
ORDER BY "GROUP_DATE" DESC
SELECT
to_char(CREATE_UTC_DATETIME, 'yyyy-mm-dd') AS group_date,
COUNT(*) AS unsuccessful_transaction
FROM "REPORT_EVENTS"
WHERE "RESULT_CODE" = '1' AND "EVENT_TYPE" = 'BILL'
GROUP BY to_char(CREATE_UTC_DATETIME, 'yyyy-mm-dd')
ORDER BY "GROUP_DATE" DESC
答
你不想UNION
这里,而是一个查询其使用条件汇总:
SELECT
TO_CHAR(CREATE_UTC_DATETIME, 'yyyy-mm-dd') AS group_date,
SUM(CASE WHEN RESULT_CODE = '0' THEN 1 ELSE 0 END) AS successful_transaction,
SUM(CASE WHEN RESULT_CODE = '1' THEN 1 ELSE 0 END) AS unsuccessful_transaction
FROM "REPORT_EVENTS"
WHERE "EVENT_TYPE" = 'BILL'
GROUP BY TO_CHAR(CREATE_UTC_DATETIME, 'yyyy-mm-dd')
ORDER BY "GROUP_DATE" DESC
我不会放弃任何雄辩/ Laravel代码在这里,但我相当肯定,你会需要一个自定义原始查询来处理这个。所以,你的实际的PHP代码或多或少只是以原始形式提供上述查询。
想要实现什么?加入上述查询或得到它们的联合? – mehran
其实我想得到联合结果,最后我应该有三列1-Group_date 2-successful_transaction 3-unsuccessful_transaction –
从概念上讲,union的结果与底层查询具有相同的列,但是根据您寻找的结果,似乎你需要加入你的查询。你的问题不清楚。 – mehran