繁体   English   中英

Select语句中的SQL组合列,每个列中都有多个列

[英]SQL Combing Columns in Select statements with Multiple Columns in each

我有两个查询,每个查询返回两列。 他们是:


SELECT
  visit.doctor_id,
  COUNT(
    visit.doctor_id)
  FROM
    visit
  GROUP BY
    visit.doctor_id

结果是

    Doctor ID | Visit Count
    4           20
    5           30

SELECT
  procedures.surgeon,
  COUNT(
    procedures.surgeon)
  FROM
    procedures
  GROUP BY
    procedures.surgeon

结果是

    Surgeon ID | Visit Count
    3           8
    9           13

我正在尝试将它们合并成一个包含所有4列的表格。 我可以稍后扩展此内容以添加更多内容。

我尝试了UNION,但是只给了我两列,我尝试了FULL UNION,然后尝试使用SELECT(SELECT ....)AS'name',(SELECT ....)AS'NAME',但是这不起作用因为每个select语句输出两列而不是一列。 我也无法弄清楚如何为该解决方案使用JOIN函数。

我想要的结果是

    Doctor ID | Doctor Visit Count  | Surgeon ID  | Surgeon Operation Count
    4           20                    3              8
    5           30                    9              13

任何帮助,将不胜感激。 谢谢。

当您合并两个没有公共字段的表时,可以使用笛卡尔积。

SELECT
    *
    FROM 
    (SELECT
      visit.doctor_id,
      COUNT(visit.doctor_id) AS 'COUNT'
      FROM visit
      GROUP BY visit.doctor_id) AS A,
    (SELECT
      procedures.surgeon,
      COUNT(procedures.surgeon) AS 'COUNT'
      FROM procedures
      GROUP BY procedures.surgeon) AS B

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM