a表
拨出号码 日期b表
手机 座机 姓名a表的拨出号码对应到b表的 手机 座机字段,也就是说有可能拨出号码是手机 或者是 座机
现在要求是查出所有的a表拨出号码记录根据手机或者座机关联的b表姓名主要问题在于这个两者手机 座机 或的关系最后声明一点,所有的表记录(每一个号码只出现一次),当然也包括了可能拨出号码不在b表的手机或者座机(也就是说都查不到,也显示出来)ps:mssql 是否支持字符串截取?因为拨出号码可能带区号或者外地手机加0,如果用like left join on 的时候又不行求解
拨出号码 日期b表
手机 座机 姓名a表的拨出号码对应到b表的 手机 座机字段,也就是说有可能拨出号码是手机 或者是 座机
现在要求是查出所有的a表拨出号码记录根据手机或者座机关联的b表姓名主要问题在于这个两者手机 座机 或的关系最后声明一点,所有的表记录(每一个号码只出现一次),当然也包括了可能拨出号码不在b表的手机或者座机(也就是说都查不到,也显示出来)ps:mssql 是否支持字符串截取?因为拨出号码可能带区号或者外地手机加0,如果用like left join on 的时候又不行求解
解决方案 »
- 比较难的sql面试题,令我比较郁闷!
- .net 1.1 连接SQL Server 2005的问题
- 未能找到存储过程 'proc_Insert'
- 触发器的问题,谢谢各位。
- 关于SQL语句的菜鸟问题,来的都给100分!在线等待。。急!救小弟一命
- 一般性网络错误,请检查网络文档(PreLoginHandShake()
- 真心没分了。但是跪求一个行列转换
- 我的XP系统里的SQL SERVER2000问题.急!!!!!!!!!!!!
- SQL SERVER中的触发器能象ORACLE一样把INSERT和UPDATE分开处理吗?如何处理?
- orcale 安装问题?请赐教---(分不是问题)
- sql2000企业管理器-设计表 报错
- sqlserver中带分页查询的存储过程返回怎么是三张表,第三个表才是正确的。怎么让它只返回第三张表
substring() 这是字符串截取函数 ,用法百度吧
现在很多a表不存在但是b表存在的都显示出来了
union
select * from a left join b on a.拨出号码=b.座机
union
select 拨出号码,姓名 from a left join b on a.拨出号码=b.座机
这不对?
其实这个原理上没错,只是因为数据上 两个表关联字段 都存在null 或者''的字段 所以导致了重复数据去除 这些个 关联字段为null 和 ''然后再left join 就可以了但是问题是在left join 之前去除?这个如何做到 如果是结果里面 去除似乎 没效果了