求一SQL语句

csdn_风中雪狼 2014-09-16 08:34:37
A表
日期 星期
2014-09-01 00:00:00.000 星期一
2014-09-02 00:00:00.000 星期二
2014-09-03 00:00:00.000 星期三
2014-09-04 00:00:00.000 星期四
2014-09-05 00:00:00.000 星期五
2014-09-06 00:00:00.000 星期六
2014-09-07 00:00:00.000 星期日
2014-09-08 00:00:00.000 星期一
2014-09-09 00:00:00.000 星期二
2014-09-10 00:00:00.000 星期三

B表
序号 日期
050161 2014-09-01 00:00:00
050161 2014-09-02 00:00:00
050161 2014-09-03 00:00:00
050161 2014-09-04 00:00:00
050161 2014-09-05 00:00:00
050161 2014-09-06 00:00:00
050161 2014-09-09 00:00:00
050161 2014-09-10 00:00:00
120898 2014-09-01 00:00:00
120898 2014-09-02 00:00:00
120898 2014-09-03 00:00:00
120898 2014-09-04 00:00:00
120898 2014-09-05 00:00:00
120898 2014-09-06 00:00:00
120898 2014-09-09 00:00:00
120898 2014-09-10 00:00:00

现要得到结果:
050161 2014-09-01 00:00:00.000 星期一
050161 2014-09-02 00:00:00.000 星期二
050161 2014-09-03 00:00:00.000 星期三
050161 2014-09-04 00:00:00.000 星期四
050161 2014-09-05 00:00:00.000 星期五
050161 2014-09-06 00:00:00.000 星期六
NULL 2014-09-07 00:00:00.000 星期日
NULL 2014-09-08 00:00:00.000 星期一
050161 2014-09-09 00:00:00.000 星期二
050161 2014-09-10 00:00:00.000 星期三
120898 2014-09-01 00:00:00.000 星期一
120898 2014-09-02 00:00:00.000 星期二
120898 2014-09-03 00:00:00.000 星期三
120898 2014-09-04 00:00:00.000 星期四
120898 2014-09-05 00:00:00.000 星期五
NULL 2014-09-06 00:00:00.000 星期六
NULL 2014-09-07 00:00:00.000 星期日
NULL 2014-09-08 00:00:00.000 星期一
120898 2014-09-09 00:00:00.000 星期二
120898 2014-09-10 00:00:00.000 星期三
...全文
167 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn_风中雪狼 2014-09-16
  • 打赏
  • 举报
回复
引用 5 楼 Tiger_Zhao 的回复:
   SELECT b.序号,
          t.日期,
          t.星期
     FROM (SELECT *
             FROM a,
                 (SELECT DISTINCT 序号 FROM b) c
          ) t
LEFT JOIN b
       ON t.日期=b.日期
      AND t.序号 = b.序号
 ORDER BY t.序号, t.日期
ok,谢谢,又学了新知识
Tiger_Zhao 2014-09-16
  • 打赏
  • 举报
回复
   SELECT b.序号,
t.日期,
t.星期
FROM (SELECT *
FROM a,
(SELECT DISTINCT 序号 FROM b) c
) t
LEFT JOIN b
ON t.日期=b.日期
AND t.序号 = b.序号
ORDER BY t.序号, t.日期
csdn_风中雪狼 2014-09-16
  • 打赏
  • 举报
回复
引用 2 楼 lzw_0736 的回复:

SELECT b.序号,a.*
FROM A表 a
left join B表 b on a.日期=b.日期
谢楼上,这样是不对的,
xiaodongni 2014-09-16
  • 打赏
  • 举报
回复
select b.*,a.星期 from a left join b on a.日期=b.日期
lzw_0736 2014-09-16
  • 打赏
  • 举报
回复

SELECT b.序号,a.*
FROM A表 a
left join B表 b on a.日期=b.日期
csdn_风中雪狼 2014-09-16
  • 打赏
  • 举报
回复
如B表中有两个序号,则结果集就有20条记录,有三个序号就要有30条记录 也就是根据B表中的序号来决定记录数, 相当A表中的数据对于每个序号都要对出现一次

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧