[英]How to merge two queries?
这是第一个查询:
SELECT
SUM(otkupbody_mobile.bruto) AS bruto,
SUM(otkupbody_mobile.neto) AS neto,
SUM(otkupbody_mobile.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody_mobile,
otkupheader_mobile
WHERE
(
(otkupheader_mobile.unique_id=otkupbody_mobile.unique_id)
)
这是第二个:
SELECT
SUM(otkupbody.bruto) AS bruto,
SUM(otkupbody.neto) AS neto,
SUM(otkupbody.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody,
otkupheader
WHERE
(
(otkupheader.unique_id=otkupbody.unique_id)
)
如何创建一个查询,以便从两个查询中获得结果?
尝试:
SELECT
SUM(otkupbody_mobile.bruto) AS bruto,
SUM(otkupbody_mobile.neto) AS neto,
SUM(otkupbody_mobile.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody_mobile,
otkupheader_mobile
WHERE
(
(otkupheader_mobile.unique_id=otkupbody_mobile.unique_id)
)
UNION ALL
SELECT
SUM(otkupbody.bruto) AS bruto,
SUM(otkupbody.neto) AS neto,
SUM(otkupbody.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody,
otkupheader
WHERE
(
(otkupheader.unique_id=otkupbody.unique_id)
)
如果您不需要重复项,而不是UNION ALL
使用普通UNION
如果要将列合并在一起,可以使用此方法。 输出将是一个行与所有提及栏目:
Select A.*
, B.*
From (
SELECT SUM(otkupbody_mobile.bruto) AS bruto,
SUM(otkupbody_mobile.neto) AS neto,
SUM(otkupbody_mobile.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody_mobile,
otkupheader_mobile
WHERE otkupheader_mobile.unique_id=otkupbody_mobile.unique_id
) As A
, (
SELECT SUM(otkupbody.bruto) AS bruto,
SUM(otkupbody.neto) AS neto,
SUM(otkupbody.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody,
otkupheader
WHERE
(
(otkupheader.unique_id=otkupbody.unique_id)
)
) As B
或者,如果要合并行,可以在查询之间使用UNION
子句。 对于使用union
您应该注意两个结果必须具有相同的列。 输出将是两行,第一个查询的列。 像这样:
SELECT SUM(otkupbody_mobile.bruto) AS bruto,
SUM(otkupbody_mobile.neto) AS neto,
SUM(otkupbody_mobile.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody_mobile,
otkupheader_mobile
WHERE otkupheader_mobile.unique_id=otkupbody_mobile.unique_id
UNION
SELECT SUM(otkupbody.bruto) AS bruto,
SUM(otkupbody.neto) AS neto,
SUM(otkupbody.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody,
otkupheader
WHERE
(
(otkupheader.unique_id=otkupbody.unique_id)
)
使用UNION ALL。 总而言之,在结果上使用SUM。 像这样:
select sum(bruto), sum(neto), sum(muvla), sum(broj_bali) from (
SELECT
SUM(otkupbody_mobile.bruto) AS bruto,
SUM(otkupbody_mobile.neto) AS neto,
SUM(otkupbody_mobile.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody_mobile,
otkupheader_mobile
WHERE
(
(otkupheader_mobile.unique_id=otkupbody_mobile.unique_id)
)
UNION ALL
SELECT
SUM(otkupbody.bruto) AS bruto,
SUM(otkupbody.neto) AS neto,
SUM(otkupbody.muvla) AS muvla,
COUNT(*) AS broj_bali
FROM otkupbody,
otkupheader
WHERE
(
(otkupheader.unique_id=otkupbody.unique_id)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.