【问题标题】:How do I write a mysql subquery where one table returns multiple rows based from a table that returns one row?如何编写一个 mysql 子查询,其中一个表基于返回一行的表返回多行?
【发布时间】:2012-03-07 06:49:30
【问题描述】:

假设我有这样一张桌子:

**tbl_purchase**
PurchaseID
Date
Supplier

**tbl_purchaseitem**
PurchaseItemID
PurchaseID

我想创建一个查询,它将返回如下内容:

**Header**
PurchaseID = 2
Date: 4/26/12
Supplier:stackoverflow

*Items*
PurchaseItemID:3
PurchaseID:2

PurchaseItemID:4
PurchaseID:2

PurchaseItemID:5
PurchaseID:2

先生/女士,您的回答将非常有帮助,我们将不胜感激。

【问题讨论】:

    标签: mysql select subquery


    【解决方案1】:
    Select * from tbl_purchase 
    inner join 
    tbl_purchaseitem
    on 
    tbl_purchase.PurchaseID = tbl_purchaseitem.PurchaseID
    where 
    PurchaseID = 2 
    and 
    Date = '4/26/12' 
    and 
    Supplier = 'stackoverflow'
    

    【讨论】:

      【解决方案2】:

      像这样:

      SELECT pi.*
      FROM tbl_purchase p
      INNER JOIN tbl_purchaseitem pi
           ON p.PurchaseID = pi.PurchaseID
      WHERE p.PurchaseID = 2 AND
            p.Date       = '2012-04-26' AND
            p.Supplier   = 'stackoverflow'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-14
        • 1970-01-01
        • 2017-11-02
        • 1970-01-01
        • 2014-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多