Mysql
您可以在 sql 查詢的結果中包含兩個單獨表的列嗎?
我正在嘗試使用另一個表的列對一個表的 sql 查詢結果進行排序。是否可以在我的結果中包含來自不同表格的這一列?
例如,此查詢使用內部聯接根據父表的列“dateReceived”對子表中的項目進行排序:
SELECT c.* FROM children c INNER JOIN parent p ON c.parent_id = p.parent_id ORDER BY dateReceived ASC;
如果該視圖能夠以某種方式在結果中包含 Parent 表中的“dateReceived”列,則它會更有幫助。我是 SQL 新手,這可能嗎?
謝謝你。
是的,您需要做的就是
SELECT
通過正確的別名將該列添加到您的列表中,如下所示:SELECT p.dateReceived, c.* FROM children c INNER JOIN parent p ON c.parent_id = p.parent_id ORDER BY p.dateReceived ASC;
請注意,別名
p
代表您的parent
表,並在此查詢的上下文中c
代表您的表。children
此外,您不應該
*
在SELECT
列表中使用(大多數時候),因為它對於可讀性、可維護性、性能原因是不好的做法,並且容易出錯。相反,您應該明確列出要返回的每一列。例如:SELECT p.dateReceived, c.child_id, c.parent_id, c.firstName, c.gender, c.age, c.shoe, c.notes FROM children c INNER JOIN parent p ON c.parent_id = p.parent_id ORDER BY p.dateReceived ASC;