灿烈伯贤吵得最凶的:[急]请问SQL Server中查询语句!新的

来源:百度文库 编辑:高校问答 时间:2024/04/28 22:11:56
数据库描述:
有两张表需进行left join 合并
批配条件是表1中的列1与表2中列2进行批配,但需在对列2进行改进后才与列1进行批配合并2表:
如果记录中没有"/"或"*",则取完整记录,如果有"/"则取"/"前的,如果有"*"号,则取"*"号前的

以上需要一次查询中完成
批配条件是表2中列2与表1中的列1进行批配

select * from 表1 left join 表2 on 表1.列1=(case when charindex('/',列2)>0 then left(列2,charindex('/',列2)-1) when charindex('*',列2)>0 then left(列2,charindex('*',列2)-1) else 列2 end)

如果要带条件的话,必须使用存储过程了。
selete T1.* , T2.*
from table1 T1 left join table2 T2 on
t2.列2 = t1.列1