0

我不知道这些是否是 defn 的“复杂查询”,但对于像我这样的菜鸟来说,它们看起来非常复杂。

所以我这里有一个查询,会得到customer_id=5的最新图表:

$query = "SELECT c.Chart_ID, c.Chart_Notes
          FROM tblchart AS c WHERE c.Customer_ID=5
          ORDER BY c.Last_Edited ASC LIMIT 1";

但我必须将它与另一个使用Chart_IDas 外键的表相关联。如何从tblcontentusing获取数据tblchart.Chart_ID=tblcontent.Chart_ID?我不能只是将其添加为:

$query = "SELECT c.Chart_ID, c.Chart_Notes, d.Content_Desc, d.Content_Title
          FROM tblchart AS c, tblcontent AS d
          WHERE c.Customer_ID=5 AND c.Chart_ID=d.Chart_ID
          ORDER BY c.Last_Edited DESC LIMIT 1";

我可以吗?因为这会将搜索限制为一个......使用LIMIT 1只是为了获取最新的,但对于后续查询(扩展查询),tblcontent除了我发布的第一个查询之外,我还期望从中提取多个结果。一个连接,也许,联合,或者一个复杂的查询,但是怎么做呢?请问,谁能帮帮我?谢谢。

4

1 回答 1

1
SELECT  a.Chart_ID, a.Chart_Notes, c.Content_Desc, c.Content_Title
FROM    tblChart a
        INNER JOIN
        (
            SELECT Chart_ID, MAX(Last_edited) maxEdited
            FROM tblChart
            GROUP BY Chart_ID
        ) b ON a.Chart_ID = b.Chart_ID AND
                a.Last_Edited = b.maxEdited
        INNER JOIN tblcontent c
            ON a.Chart_ID = c.Chart_ID
WHERE   a.Customer_ID=5
于 2012-11-16T04:42:35.783 回答