[英]Select from multiple tables in SQL Server in C#
我想编写SQL查询,该查询从第一个表中选择一些列,并从第二个表中选择所有列。
ID
是table1
的PK, id
是table2
的FK。
这个对吗:
SELECT ID, table2.ALL
FROM table1
INNER JOIN table2 ON table1.ID = table2.id
WHERE table1.ID= x AND table1.Column3 = 'y'
您是否在table2
有一个名为ALL
的列,还是要从table2
选择所有列?
如果希望所有列使用table2.*
代替:
SELECT table1.ID, table2.*
FROM table1
INNER JOIN table2 ON table1.ID = table2.id
WHERE table1.ID= x AND table1.Column3 = 'y'
另外,由于两个表中都有ID
,因此需要指定要在语句中选择的一个。
更新:如果您不希望table2
所有列,则需要显式指定所需的列:
SELECT
t1.ID,
t2.column1, t2.column2, ....., t2.columnN
FROM table1 t1
INNER JOIN table2 t2 ON t1.ID = t2.id
WHERE t1.ID= x AND t1.Column3 = 'y'
您不能使用table2.ALL
。 这将在表2中查找名为“ All”的列。 您想改用table2.*
。
SELECT table1.ID, table2.*
FROM table1 INNER JOIN table2 on table1.ID = table2.id
WHERE table1.ID = x AND table1.Column3 = 'y'
代替“ ALL”,使用*:
SELECT t1.ID, t2.* FROM table1 as t1
INNER JOIN table2 as t2
ON t1.ID = t2.id
WHERE t1.ID = x
AND t1.Column3 = 'y'
像这样做:
select t1.ID, t2.*
from table1 t1
inner join table2 t2 on table1.ID = table2.id
WHERE t1.ID=xxx AND t1.Column3 = 'y'
用所需的ID
替换xxx
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.