Sql 如何从一个表中选择一个值并将其用于另一个选择?
我有两张桌子,f.e.: Usertable:姓名、姓氏、用户id 对象表:用户id、日期、对象id 现在我想使用给定变量Sql 如何从一个表中选择一个值并将其用于另一个选择?,sql,Sql,我有两张桌子,f.e.: Usertable:姓名、姓氏、用户id 对象表:用户id、日期、对象id 现在我想使用给定变量Object.ID和Object.Releasedate从Objecttable中选择userID,其中date=Object.Releasedate和Object\u ID=Object.ID。接下来,应该使用所选的userID从Usertable中选择name、姓氏,其中user\u id=userID 如何在一个语句中编写此语句?使用内部连接 select name,
Object.ID
和Object.Releasedate
从Objecttable中选择userID,其中date=Object.Releasedate和Object\u ID=Object.ID。接下来,应该使用所选的userID从Usertable中选择name、姓氏,其中user\u id=userID
如何在一个语句中编写此语句?使用
内部连接
select name, surname
from usertable a inner join objecttable b
on a.user_id=b.userID
where date = Object.Releasedate and object_id = Object.ID
内部联接的替代方法是子查询
select ut.name, ut.surname
from Usertable ut
where ut.user_id in (select ot.userID
from Objecttable ot
where ot.date = Object.Releasedate and
ot.object_id = Object.ID
);
哪一个更好取决于您的数据结构,如果您想知道,请查看解释计划。向我们展示一些示例表数据和预期结果。(格式化文本,无图像。)@Biome。我认为这是更好的解决办法。首先,如果对象表中有多行匹配,它不会返回重复项。其次,它编写得更好,使用正确的表别名并限定列名