我sql 2000 有个查询语句我有三个表 A,B,C我要查询A表的信息A表有a1,a2,a3 三个字段。当a1的字段长度是15位的时候,就直接查询A表的select * from a1当a1的字段长度是18位的时候,要查询B表,B表有a1对应的15位字段,就要查询两个表
当a1的字段长度是22位的时候,要查询B表,C表有a1对应的15位字段,就要查询两个表
当a1的字段长度是22位的时候,要查询B表,C表有a1对应的15位字段,就要查询两个表
如果是列值长度:
select case len(a.a1) when 15 then a.a1 when 18 then b.xxx when 22 then c.xxx end as a1, ....
from a left join b on a.a1 = b.a1 and len(a.a1) = 18
left join c on a.a1 = c.a1 and len(a.a1) = 22
union all
select * from A,B where A.len(a1) = 18
union all
select * from A,C where A.len(a1) = 22?????????