簡體   English   中英

MySQL,使用一個查詢的值從另一個查詢獲取結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM