以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sql语句使用求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180223) |
-- 作者:zsxx999ja -- 发布时间:2022/10/8 20:57:00 -- sql语句使用求助 下面是我用sql语名查询的三个表且组合起来的句子,测试没有问题 S ELECT 会议时间 as 日期, sy , 参加人 as 人员 FROM dbo.短信内容 where 会议时间 > \'2022/01/01\' union S ELECT 出差起日期 as 日期, convert(varchar(200),事由) as 事由, 参加人员 as 人员 FROM dbo.督导组下校登记 where 出差起日期 > \'2022/01/01\' union S ELECT 出差时间 as 日期, CONVERT(VARCHAR(200),内容) as 事由, 参加人 as 人员 FROM dbo.笔记本与档案 where 出差时间 > \'2022/01/01\' order by 日期; 这里where语句滤是分表过滤的,能否在组合后再过滤,我用where和 having都没能成功,如何写?
|
-- 作者:有点蓝 -- 发布时间:2022/10/8 21:37:00 -- select * from (S ELECT 会议时间 as 日期, sy as 事由, 参加人 as 人员 FROM dbo.短信内容 union S ELECT 出差起日期 as 日期, convert(varchar(200),事由) as 事由, 参加人员 as 人员 FROM dbo.督导组下校登记 union S ELECT 出差时间 as 日期, CONVERT(VARCHAR(200),内容) as 事由, 参加人 as 人员 FROM dbo.笔记本与档案 ) as a where 日期 > \'2022/01/01\' order by 日期; 其实先过滤再合并效率更高,虽然代码多了
[此贴子已经被作者于2022/10/8 21:37:44编辑过]
|