代码之家  ›  专栏  ›  技术社区  ›  zzapper

MySQL有没有一个Select来查询数据库中各种不相关的值?

  •  1
  • zzapper  · 技术社区  · 16 年前

    我似乎没有很好地解释自己。我想做一个单一的查询,这将拉出一系列的统计数据,从各种表最新的秩序,最新的客户,最大的订单。显然,我可以通过一系列的选择来做到这一点。

    我看到的例子是

    select (
    
     select ... from tbl_1 where ..,
     select ... from tbl_2 where ..,
     select ... from tbl_3 where ..,
     ...
    )
    
    3 回复  |  直到 16 年前
        1
  •  3
  •   James    16 年前

    我想您是在问“subselect”(即派生表、嵌套查询)。

    例如//

    SELECT colA, colB
    FROM tableA
        INNER JOIN (
                    SELECT colB, fk
                    FROM tableB
                    WHERE colC = 'Blah'
                   ) ON tableA.pk = tableB.fk
    ORDER BY colA, colB
    

    它们有一点性能问题,所以如果您认为它们可以像其他RDBMS一样工作,请小心[2]

    http://dev.mysql.com/doc/refman/5.0/en/subqueries.html

    [2] http://www.mysqlperformanceblog.com/2006/08/31/derived-tables-and-views-performance/

        2
  •  3
  •   D'Arcy Rittich    16 年前

    可能吧 UNION ?

    select *
    from (
        select name, value from Table1
        union all
        select name, value from Table2
    ) a
    order by name
    
        3
  •  0
  •   zzapper    16 年前

    SELECT d.parameter_value,tr.PARAMETER_VALUE 
    FROM `maindb`.`tbl_parameter_despatch` AS d,tbl_parameter_transactionid AS tr ; 
    
    推荐文章