繁体   English   中英

选择内部联接SQL语句中的特定列

[英]Select specific column in an inner join SQL statement

我想从我上一个内部联接的“ Products选择特定的列(“ Name )。 我怎样才能做到这一点?

这是我的SQL语句:

SqlCommand cmd = new SqlCommand("SELECT * FROM CustomerDetails cd INNER JOIN CustomerProducts cp ON cp.CustomerID = cd.Id INNER JOIN Products p ON cp.ProductID = p.ProductID", conn);

到目前为止,我已经明白了,是否可以为此提供一栏? Name一样,因为它们具有相同的ID,所以含有二氧化碳,工业氧气? 谢谢

在此处输入图片说明

SqlCommand cmd = new SqlCommand("select p.[name], cd.* FROM CustomerDetails cd Inner Join CustomerProducts cp ON cp.CustomerID = cd.Id Inner Join Products p ON cp.ProductID = p.ProductID", conn);

编辑:我同意下面的评论,不建议使用cd。*,它应该是cd.Id,cd.CustomerName ...等。

这应该使您将名称归为一列:

;WITH Customers AS
(
    select cd.Id, cd.customer ... FROM CustomerDetails cd 
)

SELECT stuff(
(
    select ', ' + p.[name] FROM Customers cd Inner Join CustomerProducts cp ON cp.CustomerID = cd.Id Inner Join Products p ON cp.ProductID = p.ProductID
    FOR XML PATH('')
), 1, 2, '')
, c.Id, c.CustomerName ...
FROM Customers c
select p.Name, cd.ColumnA, cd.ColumnB, cd.ColumnC
FROM CustomerDetails cd 
Inner Join CustomerProducts cp ON cp.CustomerID = cd.Id 
Inner Join Products p ON cp.ProductID = p.ProductID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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