只要我道歉,因爲我不知道或能夠解釋確切的麻煩。mysql查詢,兩個select
如何從表user_address獲取值。
如何在第二個「select」中傳遞用戶ID。
select id, name, age,
(select address
from user_address
where user_id = ??user.id
ORDER BY address_name
LIMIT 1) AS address
from user
只要我道歉,因爲我不知道或能夠解釋確切的麻煩。mysql查詢,兩個select
如何從表user_address獲取值。
如何在第二個「select」中傳遞用戶ID。
select id, name, age,
(select address
from user_address
where user_id = ??user.id
ORDER BY address_name
LIMIT 1) AS address
from user
作爲已經存在的附錄,您可能不應該依賴數據庫中行的特定順序來提供某種語義含義。如果你有識別這地址你後的一些更好的方法,你可以使用一個連接,如:
select id, name, age, address
from user
inner join user_address
on user.id=user_address.user_id
where address_type='Home'
(調節where子句等等)
我假設你想得到像用戶的第一個地址 (每個用戶可能有幾個地址)
- 有另一種選擇,你想找到第一個人住在給定的地址(下面的解決方案doesn' t解決這種情況)
SELECT u.id,u.name,u.age,a.ua as address
FROM
(
SELECT * FROM users
) u
INNER JOIN
(
SELECT userID, MIN(address) AS ua
FROM user_address
GROUP BY userID
) a
on u.id = a.userID
的語法是SQLServer的 - 如果你使用MSACCESS(你可以先用,而不是分鐘)
希望它可以幫助 阿薩夫
「我很抱歉,因爲我不知道或者不能夠解釋確實麻煩。「即使您不明白,您也可以複製並粘貼所獲得的錯誤消息。這對我們幫助很大。 – 2010-08-03 07:27:44