A表中有insertuser,insertcompany这两个字段,其中insertcompany与B表的主键对应。
现在要进行查询 ,当inseruser>0时不连接B表,当insertuser<=0时通过insertcompany链接这2个表。
请问这样的sql如何写呢?一句话哟,不要分开写的
现在要进行查询 ,当inseruser>0时不连接B表,当insertuser<=0时通过insertcompany链接这2个表。
请问这样的sql如何写呢?一句话哟,不要分开写的
解决方案 »
- 关于数据库设计问题,在一些基础资料表中,删除操作应应该真的删除还是做个记号不可用?
- 这么简单的存储过程怎么写呀!帮帮我吧~
- 提个问题
- 从XML里查询的结果INSERT到表变量速度贼慢,求解
- 我想某个连接内创建一个临时表,该零时表,具有tempdb_XXX得名称,xxx是系统自动附上的,这样多个临时表可以共存。
- asp连sql server,如何判断当前时间与数据库某字段(时间类型的)相差20分钟?
- sp_helptext 显示存储过程时,有每行255字符的限制,如何去掉?
- 请教一个有关sqlserver 2000存储过程的问题。
- 求教高手!高分相送!分组
- sql server C#一个一边读取一边删除的问题,数据被锁住了
- 通过一张表某个字段更新另一张表,求SQL语句。
- 从TXT导入MSSQL中如果过滤相同的内容,在线求助!
where inseruser>0
union all
select A.* from A,B
where A.insertcompany=B.insertcompany
and A. insertuser <=0
UNION ALL 的两边字段数必须一致。
set @inseruser=你的值
set @s='select * from a '+case when @inseruser>0 then ' ' else 'join b on a.insertcompany=b.insertcompany' end
exec(@s)