我不知道这些是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_ID
作为外键的表联系起来。如何使用tblcontent
从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
中提取多个结果除了我发布的第一个查询。一个连接,也许,或联合,或一个复杂的查询,但如何?拜托,任何人都可以帮助我吗?感谢。
答案 0 :(得分: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