Mysql 如何通过一列组合两个不同的查询结果
我试图通过在两个查询中返回相等值的字段锚来合并两个查询的结果Mysql 如何通过一列组合两个不同的查询结果,mysql,sql,Mysql,Sql,我试图通过在两个查询中返回相等值的字段锚来合并两个查询的结果 SELECT anchor_date AS anchor, <======================= query one, field "anchor" SUM( GETVAL(24, entry_id) ) AS valueQ1 <======= query one, field "valueQ1" FROM users WHERE blog_id = 173 GROUP BY DATE(
SELECT
anchor_date AS anchor, <======================= query one, field "anchor"
SUM( GETVAL(24, entry_id) ) AS valueQ1 <======= query one, field "valueQ1"
FROM users
WHERE blog_id = 173
GROUP BY DATE(anchor)
UNION
SELECT
anchor AS anchor, <============================ query two, field "anchor"
SUM(value) AS valueQ2 <======================== query two, field "valueQ2"
FROM infodata
WHERE infoid IN(330, 1492, 1066)
AND entity = 173
我尝试使用联合,但没有成功。也许是交集还是加入?我正要修正我的答案,然后我看到了你的答案+1不确定,但你都试过了吗?
SELECT anchor, MAX(valueQ1) AS valueQ1, MAX(valueQ2) AS valueQ2
FROM (
SELECT
anchor_date AS anchor,
SUM( GETVAL(24, entry_id) ) AS valueQ1,
NULL AS valueQ2
FROM users
WHERE blog_id = 173
GROUP BY DATE(anchor)
UNION
SELECT
anchor AS anchor,
NULL AS valueQ1,
SUM(value) AS valueQ2
FROM infodata
WHERE infoid IN(330, 1492, 1066)
AND entity = 173) AS u
GROUP BY anchor
SELECT anchor, MAX(valueQ1) AS valueQ1, MAX(valueQ2) AS valueQ2
FROM (
SELECT
anchor_date AS anchor,
SUM( GETVAL(24, entry_id) ) AS valueQ1,
NULL AS valueQ2
FROM users
WHERE blog_id = 173
GROUP BY DATE(anchor)
UNION
SELECT
anchor AS anchor,
NULL AS valueQ1,
SUM(value) AS valueQ2
FROM infodata
WHERE infoid IN(330, 1492, 1066)
AND entity = 173) AS u
GROUP BY anchor