[英]MySQL , use values from one query to get a result from another
我是MySQL的絕對新手,除了基本的select函數外,我不了解更多! 我一直在閱讀有關加入Queries等的各種帖子,但是目前我的頭緒太長了,無法滿足我的需求,而且我學習的時間很短!
因此,有誰能將我的查詢匯總起來以解決以下問題?
我有3個表格,其中包含以下需要使用的字段。
帳目
i_account,
id,
i_env (this value would be =2),
first_usage_time
UA
i_ua,
mac,
inventory_id,
description
UA_鏈接
i_ua,
i_account
如您所見,表UA_Links包含將UA和Accounts表聯系在一起的兩個字段。
我需要做的是,從Accounts表中輸出id和first_usage以及從UA表中獲取mac,inventory_id和描述。
希望這有意義嗎?
預先非常感謝Mike
最簡單的方法是創建一個簡單的聯接。
SELECT Account.id, Accounts.first_usage_time, UA.mac, UA.inventory_id, UA.description
FROM Accounts, UA, UA_Links
WHERE Accounts.id = UA_Links.i_account
AND UA.i_ua = UA_Links.i_ua
一點解釋:您可以使用逗號選擇多個表。 如果要選擇列,則需要使用語法{tablename}。{column_name}。 要將3個表連接在一起,您需要在WHERE語句中鏈接ID。
我不確定我是否獲得了正確的列,您可能需要檢查一下(UA.i_ua和UA_Links.i_ua是否相同?)。
也許這可以幫助..::)
select a.id,a.first_usage_time
from Accounts a
left join UA_Links b
on b.i_account=a.i_account
left join UA c
on c.i_ua=b.i_ua
這是一個非常簡單的聯接,您所需要做的就是告訴查詢哪個字段與另一個表的哪個字段匹配:
select * from accounts as a inner join ua_links as l
on a.i_account = l.i_account
Inner join ua on l.i_ua = ua.i_ua
希望這能滿足您的需求,
select acc.id as YOURALIAS, acc.first_usage_time as YOURALIAS,
ua.mac as YOURALIAS, ua.inventory_id as YOURALIAS,
ua.description as YOURALIAS
from ua INNER JOIN ua_links ON ua.i_ua = ua_links.i_ua
inner join accounts acc on ua_links.i_account = acc.i_account
最佳做法是使用別名,您可以在http://www.w3schools.com/sql/sql_alias.asp上找到更多信息 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.