求一个简单的SQL语句!

arraiy 2007-05-31 10:17:54
表1:

编号 名称 规格
01 铅笔 2B
02 钢笔 圆质料12*6
03 笔记本 A4版
04 圆珠笔 蓝色

表2:
序号 注意内容
A 所有的文具用胶纸包装
B 不能压

要得到下面表:

编号 名称 规格 序号 注意内容
01 铅笔 2B A 所有的文具用胶纸包装
02 钢笔 圆质料12*6 B 不能压
03 笔记本 A4版
04 圆珠笔 蓝色

很简单但不会,帮忙写一个sql语句!多谢!
...全文
231 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
leo_lesley 2007-05-31
  • 打赏
  • 举报
回复
后面的序号和内容都是重复的 是什么意思啊!



create table 表1(编号 varchar(10),名称 nvarchar(10),规格 nvarchar(10))
insert 表1
select '01', N'铅笔', N'2B'
union all select '02', N'钢笔', N'圆质料12*6'
union all select '03', N'笔记本', N'A4版'
union all select '04', N'圆珠笔', N'蓝色'

create table 表2(序号 nvarchar(10), 注意内容 nvarchar(10))
insert 表2
select 'A', N'所有的文具用胶纸包装'
union all select 'B', N'不能压'




select ID_Num = IDENTITY(int, 1,1),编号,名称,规格 into #temp1 from 表1

select ID_Num = IDENTITY(int, 1,1),序号,注意内容 into #temp2 from 表2 group by 序号,注意内容 ---在这加一个group by 分组

select a.编号,a.名称,a.规格,b.序号,b.注意内容 from #temp1 a left join #temp2 b on a.ID_Num=b.ID_Num

drop table #temp1,#temp2
drop table 表1,表2
arraiy 2007-05-31
  • 打赏
  • 举报
回复
select ID_Num = IDENTITY(int, 1,1),编号,名称,规格 into #temp1 from 表1

select ID_Num = IDENTITY(int, 1,1),序号,注意内容 into #temp2 from 表2

select a.编号,a.名称,a.规格,b.序号,b.注意内容 from #temp1 a left join #temp2 b on a.ID_Num=b.ID_Num

按这种方法试了,后面的序号和内容都是重复的
stou 2007-05-31
  • 打赏
  • 举报
回复
关联了再说。
leo_lesley 2007-05-31
  • 打赏
  • 举报
回复
----没有关联可以用临时表来关联查询---
select ID_Num = IDENTITY(int, 1,1),编号,名称,规格 into #temp1 from 表1

select ID_Num = IDENTITY(int, 1,1),序号,注意内容 into #temp2 from 表2

select a.编号,a.名称,a.规格,b.序号,b.注意内容 from #temp1 a left join #temp2 b on a.ID_Num=b.ID_Num

drop table #temp1,#temp2
ivan_ren 2007-05-31
  • 打赏
  • 举报
回复
好象关联不起来了
ShineLC 2007-05-31
  • 打赏
  • 举报
回复
两个表都是基础信息的话,
得有个中间表进行关联吧~~~
如 表3
字段1 字段2
01 A
02 A
03 B
.....
lwl0606 2007-05-31
  • 打赏
  • 举报
回复
select 编号 , 名称 , 规格, 序号 , 注意内容
from 表1 left outer join 表2
on 表1.编号=(case 表2.序号 when 'A' THEN '01' WHEN 'B' then '02' end )
xyunsh 2007-05-31
  • 打赏
  • 举报
回复
表一和表2之间应该有个关联字段把
arraiy 2007-05-31
  • 打赏
  • 举报
回复
用报表的形式来说,就是在同一个明细Band上打印两个表的内容,两个表的内容不管记录数是不是一样的,但都要打印出来.
arraiy 2007-05-31
  • 打赏
  • 举报
回复
不好意思,我这里网络老断线,进不来!

是这样的,我的两个表里面的数据可能会有很多的,是不固定的,总之目的就是要,第一个表的结果加上第二个表的结果,没有条件的结合在一起,如果第一个表的记录多些,那第二个表与第一个表结合时就为空,如果第二个表记录多,那结合时,第一个表中没有的记录就补空!
如下面:

情况1:

编号 名称 规格 序号 注意内容
01 铅笔 2B A 所有的文具用胶纸包装
02 钢笔 圆质料12*6 B 不能压
03 笔记本 A4版
04 圆珠笔 蓝色

情况2:

编号 名称 规格 序号 注意内容
01 铅笔 2B A 所有的文具用胶纸包装
02 钢笔 圆质料12*6 B 不能压
03 笔记本 A4版      C 用纸箱打包
04 圆珠笔 蓝色     D   空运
                E 货到付款
                F 现金结款

也就是两个表没有条件的结合,主要是根据记录的数量来,如果第一个表记录多,那第二个的就补空,第二个多第一个就补空,原本两个表中记录各是多少,结合后还是多少,只是多了些空行而已.

34,594

社区成员

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

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