首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从不同的表中获取数据

如何从不同的表中获取数据
EN

Stack Overflow用户
提问于 2017-03-27 03:00:18
回答 2查看 84关注 0票数 2

你能帮我做这个吗?我必须使用内部联接进行查询才能从不同的表中获取数据。

以下是我的查询:

代码语言:javascript
复制
select 
    a.DocEntry,
    a.CardName,
    a.Address,
    a.Address2, 
    a.CardCode,
    a.TaxDate,
    b.Dscription, 
    b.Quantity,
    b.Price,
    b.GTotal,
    b.WhsCode,
    c.WhsName,
    d.CompnyName, 
    d.CompnyAddr, 
    d.Phone1,
    e.U_NAME
from OPOR a 
        inner join POR1 b on a.DocEntry = b.DocEntry
        inner join OWHS c on a.DocEntry = c.WhsCode
        inner join OADM d on a.DocEntry = d.CompnyName
        inner join OUSR e on a.DocEntry = e.U_NAME
where b.DocEntry = 36

但我知道这个错误:

当将nvarchar值'OEC Computers UK‘转换为int数据类型时,Msg 245、级别16、状态1、第1行转换失败。

EN

回答 2

Stack Overflow用户

发布于 2017-03-27 06:13:48

您正在将NVarchar列组合为int值或列。如果该列包含至少一个不能转换的值,则引发您提供的异常。( sql server不能隐式地解析值)

请检查查询的这一部分,它看起来像是在varchar列和整数列上创建了一个连接。

代码语言:javascript
复制
inner join OADM d on a.DocEntry = d.CompnyName
inner join OUSR e on a.DocEntry = e.U_NAME

如果有必要(不建议这样做),则必须将int列转换为nvarchar ex:

代码语言:javascript
复制
inner join OUSR e on CAST(a.DocEntry AS NVARCHAR(255)) = e.U_NAME

如果DocEntry的数据类型为NVarchar,则异常可能由

代码语言:javascript
复制
b.DocEntry = 36

所以你必须用它代替它

代码语言:javascript
复制
b.DocEntry = '36'
票数 0
EN

Stack Overflow用户

发布于 2017-03-27 03:04:08

什么类型的列"DocEntry“、"WhsCode”、"CompnyName“、"U_NAME"?

有"OEC计算机英国“不能转换为整数。

该列的数据必须是数字,否则您无法比较它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43037270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档