【问题标题】:How do show a result table from two 'select'? SQL如何显示两个“选择”的结果表? SQL
【发布时间】:2014-05-22 12:01:34
【问题描述】:

我有 2 个查询:
第一个查询:

select TableB.name, count(TableB.name) from TableB group by TableB.name

结果:

 name | count
 Jack | 2
 Marry| 1


第二次查询:

select DISTINCT TableA.kName, TableA.Value from TableA inner join TableB 
ON
TableA.kName=TableB.name

结果:

kName | Value
Jack  | 1
Marry | 3

但我需要结果表:

kName | Value | newColumn
Jack  |  1    | 2
Marry |  3    | 1

newColumn 是第一次查询的结果,怎么办?请帮忙。

也许:

select DISTINCT TableA.kName, TableA.value, 
(select TableB.name, count(TableB.name) from TableB group by TableB.name) 
AS 
newColumn from TableA inner join TableB ON TableA.kName=TableB.name

但这行不通:(

【问题讨论】:

    标签: sql postgresql select


    【解决方案1】:

    试试这个查询

    SELECT tableB.name, tableA.value, count(tableB.name) as newColum FROM tableB
    JOIN tableA ON tableB.name = tableA.kname
    GROUP BY tableB.name,tableA.value
    

    【讨论】:

      【解决方案2】:
      select kname, value, "newColumn"
      from
          (
              select name, count(name) as "newColumn"
              from tb
              group by name
          ) tb
          inner join
          (
              select distinct kname, value
              from ta
          ) ta ta.kname = tb.name
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-20
        • 1970-01-01
        • 1970-01-01
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多