我的SQL Server数据库中有两个表。第一个是Test1
,第二个是Test2
。两个表中都有一列RegNo
。
现在我想从两个表中为特定RegNo
选择值。
这就是我正在做的事情
SELECT Test1.SurName, Test2.Class, Test2.Medium
FROM Test1,Test2 JOINS
Test2 ON Test1.RegNo = Test2.RegNo
但我的查询是错误的。
答案 0 :(得分:8)
select
Test1.SurName,
Test2.Class,
Test2.Medium
from Test1
inner join Test2
on Test1.RegNo = Test2.RegNo
如果您想为特定RegNo
选择数据,只需在末尾添加WHERE
子句,如下所示:
select
Test1.SurName,
Test2.Class,
Test2.Medium
from Test1
inner join Test2
on Test1.RegNo = Test2.RegNo
where Test1.RegNo = 123456 -- or whatever value/datatype your RegNo is
答案 1 :(得分:6)
SELECT Test1.SurName, Test2.Class, Test2.Medium
FROM Test1
INNER JOIN Test2 ON Test1.RegNo = Test2.RegNo
答案 2 :(得分:3)
SELECT Test1.SurName, Test2.Class, Test2.Medium
FROM Test1
INNER JOIN Test2
ON Test1.RegNo = Test2.RegNo
请参阅a visual explanation of joins这对学习联接非常有帮助。
答案 3 :(得分:1)
试试这个:
SELECT Test1.SurName, Test2.Class, Test2.Medium
FROM Test1 INNER JOIN Test2
ON Test1.RegNo = Test2.RegNo
WHERE Test1.RegNo = desired_id
答案 4 :(得分:1)
非常基本的问题,下次尝试谷歌,现在就这样:
SELECT Test1.SurName, Test2.Class, Test2.Medium
FROM Test1
inner join Test2 ON Test1.RegNo = Test2.RegNo
答案 5 :(得分:1)
这是您的更正查询。
SELECT Test1.SurName, Test2.Class, Test2.Medium
FROM Test1 INNER JOIN Test2 ON Test1.RegNo = Test2.RegNo where Test2.RegNo=Test1.RegNo;
您也可以通过提供RegNo来过滤查询,在您想要的哪个表上。
答案 6 :(得分:0)
如果您正在寻找没有联接和关系的敌人方法,这将达到目的。
select
(
select s.state_name from state s where s.state_id=3
) statename,
(
select c.description from country c where c.id=5
) countryname
from dual;
其中dual是具有单列的虚拟表-只需使用表即可查看