繁体   English   中英

在C#中从SQL Server中的多个表中选择

[英]Select from multiple tables in SQL Server in C#

我想编写SQL查询,该查询从第一个表中选择一些列,并从第二个表中选择所有列。

IDtable1的PK, idtable2的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM