回答

收藏

Sybase * =符合Ansi Standard,对于同一内部表有2个不同的外部表

技术问答 技术问答 197 人阅读 | 0 人回复 | 2023-09-12

我试图迁移一些旧的过程代码。我正在弄清楚ANSI标准语法在产生相同结果时遇到麻烦。
" w$ b! w% H: O3 Y: w以下是我尝试过的多种组合之一。第二个联接的内部表是什么,它是第一个联接的输出还是源表。. Y( R) Z6 ]) W/ c4 @! @% P
请帮我更改很多代码。
4 Q  R  l! |, t# ~" `  n原始SQL语句  \' Y* ~/ _' s; D5 ]/ p* a" {( k
select * from  JT1 a,JT2 b,JT3 c  where a.ID *= b.ID     and c.JOB *= b.JOB我的转换2 T# T4 J( o+ b! P2 Z2 o6 v& `
select *   from JT1 a   left outer join JT2 b    on a.ID = b.ID   right outer join JT3 c   on c.JOB = b.JOB下面是SQL表定义和示例数据。  S( j8 d1 u$ n3 F8 {: r! E/ I
Create table JT1 (   ID   int(4)   not null,  NAME char(20) not null)Create table JT2 (   ID  int(4)   not null,  JOB char(20) not null)Create table JT3 (   JOB  char(20) not null,  DUTY char(20) not null)INSERT INTO dbo.JT1 VALUES(10,"Saunders")  INSERT INTO dbo.JT1 VALUES(20,&quoternal")  INSERT INTO dbo.JT1 VALUES(30,"Marenghi")  INSERT INTO dbo.JT2 VALUES(20,"Sales")  INSERT INTO dbo.JT2 VALUES(30,"Clerk")   INSERT INTO dbo.JT2 VALUES(30,"Mgr")  INSERT INTO dbo.JT2 VALUES(40,"Sales")  INSERT INTO dbo.JT2 VALUES(50,"Mgr")  INSERT INTO dbo.JT3 VALUES("Mgr","Evaluate")  INSERT INTO dbo.JT3 VALUES("Mgr","Reports")  INSERT INTO dbo.JT3 VALUES("Mgr","Meeting")  INSERT INTO dbo.JT3 VALUES("Clerk","Stocking")  INSERT INTO dbo.JT3 VALUES("Clerk","Customer Request")               
, E8 f. k; @+ B% Y( Q6 F    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则