首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

一个关于SQL查询的有关问题,求高手

2012-07-18 
一个关于SQL查询的问题,求高手现在有3张表表一:EID (ID)ENAME(名称)表二:ESID(ID)EID(外键,表一ID)SID(外

一个关于SQL查询的问题,求高手
现在有3张表
表一:EID (ID)
  ENAME(名称)

表二:ESID(ID)
  EID(外键,表一ID)
  SID(外键,表三ID)

表一:SID (ID)
  SNAME(名称)

现在需要做的是查询出表一的所有信息,并且显示在表二中是否有关联信息存在。如果有显示1没有显示0。从外部会传入表三的ID作为查询条件。
以下是我的语句:
SELECT ei.eid, ei.ename, ei.edept, test = CASE WHEN lifnr IS NOT NULL AND 
  es.SID = '1' THEN 1 ELSE 0 END
FROM TABLE1 ei LEFT OUTER JOIN
  TABLE2 es ON ei.EID = es.EID

不过这很明显是错的。表二没有数据的时候数据看起来没问题,但是一旦有数据就会出错。数据库是SQL SERVER2000。


[解决办法]

SQL code
select a.eid, a.ename, case when b.sid is null then 0 else 1 end as flagfrom table1 a left join table2 b on a.eid = b.eid
[解决办法]
+1
探讨
SQL code


select a.eid, a.ename, case when b.sid is null then 0 else 1 end as flag
from table1 a left join table2 b on a.eid = b.eid

热点排行