select AA.GoodsID from
(
select A.GoodsID,A.SerNum from
(select * from VStock where SerNum is not null) A
left join InStorage_Record B on (A.GoodsID=B.GoodsID and A.SerNum=B.ISRSerNum)
) AA
where not exists
(select 1 from AA C where AA.GoodsID=C.GoodsID and AA.SerNum=C.SerNum and AA.ISNDate>C.ISNDate
having count(1)>0)
因为AA对象名属于from中的一个子查询,在where中可以直接引用,但是在其下的子查询中无法使用,这个时候可以采取with as结构解决。有关该结构的详细使用可看下面文章:
http://blog.csdn.net/xueminxu/article/details/8132074
select AA.GoodsID from( select A.GoodsID,A.SerNum from (select * from VStock where SerNum is not null) A left join InStorage_Record B on (A.GoodsID=B.GoodsID and A.SerNum=B.ISRSerNum)) AA
sql
语句是这样:SELECT a.cAcc_Id, iyear,cacc_name,cDatabase
FROM UA_AccountDatabase a
inner join UA_Account b on a.cacc_id=b.cacc_id
然后我在
sql
server
中
执行...
在数据库里面新建表后显示
对象
名
无效
,但是在表
中
能看见,就是无法
引用
。(强迫症、看着下划线是一排红色的、不爽)。重启
sql
服务也没有用。
暴力解决方法::关闭
SQL
管理器,再重新打开。(红色下划线不见了、
对象
名
无效
也不见了)
--------------------------------------------------------------------------------------...
而且每次刷新cube增量的时候都会报这个错
于是我刷新数据包,结果还是一样,上网查也查不出来什么结果。
最后理解应该是本月刷新出来的机构维度代码和上个月的不一样,导致Rs报这样的错误
后来发现,如果是
子
项报错的话,就把
子
项删除,然后将父项展开就可以了。当然这也只是
权宜之计,将来想到更根本的解决方法,会及时更新上来...
今天遇见一个很坑爹的情况,上面
sql
在测试环境里面能够执行,但是在正式环境下执行却报错【标识符不存在】,对比了好久正式和测试环境数据库的原因,由于管理是运营同事,我只能对比表和字段,但是对照后都没问题。
后来在网上找了好久,解决方法如下:【'm.MEETINGROOM_CODE'加上引号】
ALTER PROCEDURE [dbo].[uspGetBillReturn]
CREATE PROCEDURE [dbo].[uspGetBillReturn]
再点击√和调试
当在
SQL
Server
中
使用连接服务器查询
SQL
语句时,如果出现“
对象
名
无效
”的错误提示,一般是因为连接服务器
名
称或连接服务器的命
名
不正确、连接服务器没有正确配置或权限等问题引起的。
解决这个问题的方法包括:
1. 确保连接服务器的服务器
名
称或 IP 地址以及连接服务器
名
称正确无误,如果服务器
名
称或 IP 地址有变化,需要修改连接服务器配置。
2. 确保连接服务器的命
名
正确,包括指定连接服务器的完全限定
名
称(FQDN)或
别名
,如果使用
别名
,需要检查
别名
是否正确指向了连接服务器。
3. 确认连接服务器是否正确配置,包括在连接服务器上启用了 RPC 和 RPC Out 功能、正确配置了连接服务器的登录凭据等。
4. 确保使用连接服务器的登录账户有足够的权限访问连接服务器上的
对象
,可以尝试使用管理员账户重新执行查询操作。
5. 使用 fully qualified name (FQN) 或方案
名
称进行查询,例如 [server_name].[database_name].[schema_name].[table_name] 或 [schema_name].[table_name]。
最后,建议仔细检查相关配置是否有误,以及在使用连接服务器时遵循最佳实践和安全规范,避免造成不必要的安全风险和系统故障。