导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

两个关联表的更新的SQL语句问题?

lsj_smile 2002-12-30 01:52:05
我根据贴子 http://expert.csdn.net/Expert/topic/1177/1177632.xml?temp=.1271326 上的方法去做,为什么他老是说我 SQL command not properly ended???要不就是missing SET keyword,可是set我明明写了。谁能告诉我
...全文
68 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
twhaung 2002-12-30
不是PB ;而是oracle 与SQL SERVER 的语法有差别
回复
nielisheng 2002-12-30
select top 100 * from table;
在pb+sqlserver7.0/2000,一点问题也没有

update sm_mail set sm_mail.username=sm_user.realname from sm_user where sm_mail.mobile=sm_user.mobile and sm_mail.posttime<'021227'
此句也没有问题

回复
lsj_smile 2002-12-30
我想到了,可能是很多SQL方法在PB中都不支持的。最典型的是连top都用不了。唉,算了,不管怎么说,谢谢大家了。
回复
ttyp 2002-12-30
create table aa (id int identity(1,1),xx varchar(10))

insert aa values('2')
insert aa values('3')
insert aa values('6')
insert aa values('8')

create table bb (id int identity(1,1),yy varchar(10))


insert bb values('22')
insert bb values('43')
insert bb values('56')
insert bb values('48')


update aa set aa.xx = bb.yy from bb where aa.id = bb.id

select * from aa


--以上SQL SERVER 2000企业版中查询分析器通过
回复
lsj_smile 2002-12-30
我在oracle sql worksheet中也执行过,在pb6.5中也执行了,都是提示这个错误。程序?我直接连的数据库,只是一个sql语句,怎么会涉及到程序呢?
我可以保证里面的字段名,表名都是正确的。
回复
ttyp 2002-12-30
你是在哪里执行的啊,查询分析器里执行,那可能是你程序的错误吧~~~
回复
peterfgd 2002-12-30
update sm_mail set (加上表的别名)username=B.realname from sm_mail A,sm_user B where A.mobile=B.mobile and A.posttime<'021227'
回复
lsj_smile 2002-12-30
ttyp(愿赌服输) ( ) :天哪!!!!!!!!!!!!!!!!1还是一样的提示错误!我该怎么办啊?“
回复
ttyp 2002-12-30
update sm_mail set sm_mail.username=sm_user.realname from sm_user where sm_mail.mobile=sm_user.mobile and sm_mail.posttime<'021227'
回复
lsj_smile 2002-12-30
left outer join 是什么意思?
我用这个方法试了,还是提示我SQL command not properly ended
回复
CrazyFor 2002-12-30
update sm_mail set username=sm_user.realname from sm_mail left outer join sm_user on sm_mail.mobile=sm_user.mobile
where sm_mail.posttime<'021227'
回复
lsj_smile 2002-12-30
CrazyFor(烟草) ,没用,我试过了。还是说我SQL command not properly ended
回复
CrazyFor 2002-12-30
第一句,把别名拿掉,写成tablename.colName
回复
lsj_smile 2002-12-30
update sm_mail,sm_user set sm_mail.username=sm_user.realname where sm_mail.mobile=sm_user.mobile and sm_mail.posttime<'021227'

它说我这两个语句都有错,错误提示,标题上已经写了
回复
lsj_smile 2002-12-30
update sm_mail set username=B.realname from sm_mail A,sm_user B where A.mobile=B.mobile and A.posttime<'021227'
回复
将你写的贴出来。
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告