SQL中的多部分标识符 [英] Multi-part identifier in SQL

查看:116
本文介绍了SQL中的多部分标识符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试查询以获取结果,但是当我执行查询时,这显示我跟随错误



无法绑定多部分标识符material .MATNO。



无法绑定多部分标识符plant.plant。



任何解决方案?



我尝试了什么:



i试过这个查询

SELECT

customer.custm_no,customer.name,customer.name2,



orderhdr.otype,orderhdr.saleorder,



orderdtl.sitno,orderdtl.qty,



delvdtl.qty,delvdtl.issueqty


material.name,develhdr.nodelv



FROM

客户



离开加入orderhdr在customer.custm_no = orderhdr.custm_no

左加入orderdtl在orderhdr.otype = orderdtl.otype

和orderhdr.SALEORDER = orderdtl.SALEORDER

剩下在orderdtl.SALEORDER = delvdtl.SALEORDER上加入delvdtl

AND orderdtl.sitno = delvdtl.sitno

在delvdtl.nodelv = develhdr.nodelv上加入develhdr

在材料上加入MATMSTA.MATNO = MATMSTA.MATNO

在MATMSTA.MATNO = material.MATNO上留下连接材料

和MATMSTA.MATNO = material.MATNO

在plant.plant = plantcocode.plant上加入了plantcocode

在orderdtl.plant = plantcocode.plant上的左连接工厂

在plantcocode上的左连接cocode .cocode = cocode.cocode

WHERE

1 = 1

订购

orderdtl.saleorder,orderdtl。 sitno

i tried query to fetch results but when i execute query this shows me following error

The multi-part identifier "material .MATNO" could not be bound.

The multi-part identifier "plant.plant" could not be bound.

any solution?

What I have tried:

i tried this query
SELECT
customer.custm_no, customer.name,customer.name2,

orderhdr.otype,orderhdr.saleorder,

orderdtl.sitno,orderdtl.qty,

delvdtl.qty,delvdtl.issueqty

material.name,develhdr.nodelv

FROM
customer

left join orderhdr on customer.custm_no = orderhdr.custm_no
left join orderdtl on orderhdr.otype = orderdtl.otype
and orderhdr.SALEORDER = orderdtl.SALEORDER
left join delvdtl on orderdtl.SALEORDER = delvdtl.SALEORDER
AND orderdtl.sitno = delvdtl.sitno
left join develhdr on delvdtl.nodelv = develhdr.nodelv
left join MATMSTA on material.MATNO = MATMSTA.MATNO
left join material on MATMSTA.MATNO = material.MATNO
and MATMSTA.MATNO = material.MATNO
left join plantcocode on plant.plant = plantcocode.plant
left join plant on orderdtl.plant = plantcocode.plant
left join cocode on plantcocode.cocode = cocode.cocode
WHERE
1 = 1
order by
orderdtl.saleorder, orderdtl.sitno

推荐答案

您正在尝试连接尚未引用的表。

当您添加 left join时MATMSTA on material.MATNO = MATMSTA.MATNO 没有引用 material ,因为直到下一行才会添加。

相同 plant的问题
You are trying to join tables that has not been referenced yet.
When you add left join MATMSTA on material.MATNO = MATMSTA.MATNO there is no reference to material as it's not added until the next row.
Same problem with plant


看起来材质表没有名为MATNO的列。

同样,工厂表没有名为plant的列。



如果没有看到您的架构,我建议的就是检查列命名。
It looks like the material table doesn't have a column named MATNO.
Similarly, the plant table doesn't have a column named plant.

Without seeing your schema, all I can suggest is to check your column naming.


这篇关于SQL中的多部分标识符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆