SQL查询-理解我的查询中的错误
我有一个查询-我需要帮助返回更多的列 我需要返回的是SQL查询-理解我的查询中的错误,sql,sql-server,Sql,Sql Server,我有一个查询-我需要帮助返回更多的列 我需要返回的是 OrderHeader.receiver OrderHeader.receiver_name 1 订单详细信息。数量 发货日期 托运。意味着估计的成本 以下是我目前掌握的代码: WITH cte AS ( SELECT Consignments.consignment_number, UserReferences.value, Consignments.despatch_date FRO
- OrderHeader.receiver
- OrderHeader.receiver_name 1
- 订单详细信息。数量
- 发货日期
- 托运。意味着估计的成本
WITH cte AS
(
SELECT
Consignments.consignment_number, UserReferences.value,
Consignments.despatch_date
FROM
Consignments
INNER JOIN
OrderDetail ON Consignments.consignment_id = OrderDetail.consignment_id
INNER JOIN
OrderHeader ON OrderDetail.order_id = OrderHeader.order_id
INNER JOIN
UserReferences ON OrderDetail.record_id = UserReferences.record_id
WHERE
Consignments.despatch_date = '2020-04-24'
)
SELECT
'11' AS RecordType, t.consignment_number,
'' AS ' ', '' AS ' ', '' AS ' ', '' AS ' ',
STUFF((SELECT ', ' + CONVERT(varchar(255), t1.value)
FROM cte t1
WHERE t1.consignment_number = t.consignment_number
FOR XML PATH('')), 1, 1, '') AS senders_reference
FROM
(SELECT DISTINCT consignment_number FROM cte t) t;
我曾尝试将所需列添加到SELECT中,但在添加时出现错误,例如:
Msg 4104,16级,状态1,第12行无法绑定多部分标识符“OrderHeader.receiver_index”
如果您对此有任何帮助,我们将不胜感激。缺少的字段应与
cte一起出现。
:
WITH cte AS
( SELECT Consignments.consignment_number,
UserReferences.value, Consignments.despatch_date,
OrderHeader.receiver, OrderHeader.receiver_name1
OrderDetail.quantity, Consignments.despatch_date
Consignments.connote_estimated_cost
FROM Consignments INNER JOIN
OrderDetail
ON Consignments.consignment_id = OrderDetail.consignment_id INNER JOIN
OrderHeader
ON OrderDetail.order_id = OrderHeader.order_id INNER JOIN
UserReferences
ON OrderDetail.record_id = UserReferences.record_id
WHERE Consignments.despatch_date = '2020-04-24'
)
SELECT DISTINCT '11' AS RecordType, t.*,
'' AS ' ', '' AS ' ', '' AS ' ', '' AS ' ',
STUFF((SELECT DISTINCT ', ' + CONVERT(varchar(255), t1.value)
FROM cte t1
WHERE t1.consignment_number = t.consignment_number
FOR XML PATH('')
), 1, 1, '') AS senders_reference
FROM CTE t;
该查询生成该错误的唯一方法是其中一个“表”实际上是一个视图,而该视图有一个错误。但是,我怀疑您已经简化了查询并找出了错误的来源。请确保此处显示的查询实际生成您引用的错误消息。这是完整的错误消息消息4104,级别16,状态1,第12行。无法绑定多部分标识符“OrderHeader.receiver_index”。您的查询中是否有
视图
?第12行未提及该标识符。请编辑您的问题,以实际显示实际生成该消息的实际代码!不幸的是,现在UserReferences.value在第一个SELECT语句中-我遇到了我的原始问题,有多行具有相同的寄售编号。。。有没有办法删除第二列中对UserReferences.value的第一个引用,并在末尾保留senders\u引用列?