首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并两个查询?

如何合并两个查询?
EN

Stack Overflow用户
提问于 2012-11-27 19:52:54
回答 3查看 98关注 0票数 1

这是第一个查询:

代码语言:javascript
复制
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) 
)

这是第二个:

代码语言:javascript
复制
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) 
)

如何进行一次查询才能同时获得两个查询的结果?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-27 19:59:35

如果您想要将列合并在一起,您可以简单地使用它。输出将是包含所有提及列的one行:

代码语言:javascript
复制
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,您应该注意这两个结果必须具有相同的列。输出将是两个行,其中包含first查询的列。如下所示:

代码语言:javascript
复制
    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) 
        )
票数 1
EN

Stack Overflow用户

发布于 2012-11-27 19:55:31

尝试:

代码语言:javascript
复制
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而不是UNION ALL

票数 2
EN

Stack Overflow用户

发布于 2012-11-27 19:57:03

使用全部联合。要进行总结,请对结果使用SUM。如下所示:

代码语言:javascript
复制
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) 
  )

SQL Fiddle example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13583692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档