![](/img/trans.png)
[英]What is the effective query to retrieve related information from related MySQL tables, when there can be search in both tables
[英]SQL query - Can I query 2 tables that both have an ID field and retrieve both fields?
我有兩張桌子。 兩者都有稱為“ ID”的字段。
Table 1 has "ID", "Title", "Shift"
Table 2 has "ID", "Table1ID", "Details"
我想查詢表2並基於“ ID”值檢索其所有詳細信息,但還要從表1中獲取與“ Table1ID”值相關的值。
我已經嘗試過... SELECT * FROM Table2 a, Table1 b WHERE a.TableID = b.ID
這有效,但僅檢索一個表的“ ID”字段。
我一直在玩UNION ALL,但無法正常工作。
有任何想法嗎?
謝謝
是的,您可以添加一個別名:
SELECT a.ID AID, a.Title, a.Shift, b.ID BID, b.TableID, b.Details
FROM Table2 a, Table1 b
WHERE a.TableID = b.ID
上面的代碼將返回表A和B中的ID
作為結果中的AID
和BID
。
有沒有辦法讓SELECT來獲取所有字段(無需顯式寫入它們)並且仍然為特定字段加上別名?
是的,有可能,但被認為是有害的
這就是你怎么做身份證
SELECT Table1.*,Table2.* from table1 inner join Table2 on Table1.ID = Table2.Table1ID;
為什么我要說它有害,請參閱此處: 為什么SELECT *被認為有害?
正確選擇應為:
SELECT Table1.ID,Table1.Title,Table1.Shift,Table2.ID.Table2.Table1ID,Table2.Details.* from table1 inner join Table2 on Table1.ID = Table2.Table1ID;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.