收录日期:2020/10/28 10:02:47 时间:2016/07/04 16:42:51 标签:ASP.NET
在做OA的时候有一段查询语句用到了 INNER JOIN [OA_user] ON OA_file.fileaccepter=OA_user.userid 这段,目的是在页面上显示接收者名称,但是在发送文件的程序里有一个选项是发送给所有人,我设置的这个写入数据库的OA_user.ueserid值是0,那么在对应的OA_user表中肯定就找不到userid为0的信息,请问这个怎么解决?
left join
用left join的话怎么解决显示为"所有人"呢?
sorry,我可能理解错了。
up
可以这样写啊
select * from OA_file ,OA_user where OA_file.fileaccepter=OA_user.userid or OA_file.fileaccepter=0

从所有两表的笛卡尔积中选择实际匹配的 + OA_file中id为0的行和OA_user所有行的连接
INNER JOIN 个别人

UNION

userid=0
我的意思是查询的时候如果userid=0就显示所有人,否则就显示对应的人名
select OA_user.username from OA_file inner join OA_user on OA_file.fileaccepter=OA_user.userid
union
select '所有人' as username from OA_file where OA_file.fileaccepter=0
我原始的查询语句是
select *, (CASE examine WHEN 0 THEN '?' ELSE '√' END) AS nexamine,(CASE sign WHEN 0 THEN '一般' ELSE '紧急' END) AS nsign from [OA_file] INNER JOIN [OA_user] ON OA_file.fileaccepter=OA_user.userid INNER JOIN [dept] ON OA_file.fileacceptdept=dept.deptid where OA_file.fileaccepter=0 order by OA_file.filetime des
晕,发错了还没有权限修改,只有重发一次了,应该是:
select *, (CASE examine WHEN 0 THEN '?' ELSE '√' END) AS nexamine,(CASE sign WHEN 0 THEN '一般' ELSE '紧急' END) AS nsign from [OA_file] INNER JOIN [OA_user] ON OA_file.fileaccepter=OA_user.userid INNER JOIN [dept] ON OA_file.fileacceptdept=dept.deptid order by OA_file.filetime desc
dept是部门表,examine是是否阅读
up

delphi2010 求dbgrideh控件下载资源,网上找的都是7一下的 求比较offer 软通动力 vs 瑞友(rayoo) 使用StringWriter方法需要引入什么空间? corelpainter11教程急求!!! (求救~~)tinyxml读取xml的问题 jsp中<% %>出错问题 红色部分报错 如何改正 corelpainter11教程急求!!! 如何处理5000条并发数据 xCode版本能降级吗? CSDN下载资源好像出问题了,很多时候下载东西都下载不了不知道怎么回事求解 很简单的问题,求解决,谢谢。 C#在创建和SQLite数据库连接时发生“在.NET Framework Data Provide for SQLite中发生错误” fedora 问题 安卓sdk安装失败? 安卓平板 串口通信 OTG 蓝牙 求:热敏打印机驱动用c++怎么写,谢谢 【renkuan719】你懂的~~ Ogre1.8.1SDK版本编译后怎么那么多警告C4275和C4251?????? 如何处理多页面的并发 恒生电子怎么样啊?求了解 高分求教,ssh annotation 在DAO如何注入sessionFactory select()返回0,但实际上是有数据过来的。 VB怎么好像难过C似的?(标题要长长长长长长长长) 程序运行时出错 如何获得解码器的路径 cvCaptureFromFile不能重复使用 MFC中无模式对话框结束以后句柄仍然有效? QT中pushbutton怎么切换图片,MP4播放器 关于else的问题。。。。。。 求交集 数据结构 望高手指点