只要我道歉,因为我不知道或能够解释确切的麻烦。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