有AB两表,怎样用SQL语句连接得到C表?C表中钢笔数量只出现1次,请高手赐教
A表:品名 日期 单价
钢笔 2010-10-10 5
钢笔 2010-10-11 5.5
铅笔 2010-10-11 2B表:品名 数量
钢笔 20
铅笔 30 C表:品名 日期 单价 数量
钢笔 2010-10-10 5 20
钢笔 2010-10-11 5.5
铅笔 2010-10-11 2 30
A表:品名 日期 单价
钢笔 2010-10-10 5
钢笔 2010-10-11 5.5
铅笔 2010-10-11 2B表:品名 数量
钢笔 20
铅笔 30 C表:品名 日期 单价 数量
钢笔 2010-10-10 5 20
钢笔 2010-10-11 5.5
铅笔 2010-10-11 2 30
解决方案 »
- 海康威视SDK调用获取DVR参数问题
- fastreport 4.0 调用函数报错的问题?
- 请问删除数据库记录时,为什么不能返回影响的记录数
- 赚分...
- 紧急求助,Incompatible types: 'String' and 'TLabel'
- 那位用过wwDBGrid帮我看看:wwDBGrid中对每一列可以设置其显示方式如某一列显示类型为CheckBox可是我在程序中动态怎么设置(所显示列为bo
- 有一个IMAGE控件和一个button控件,IMAGE控件在上面,我想运行中可以选中Button并且移动
- 请问如何将MDIchild窗体居中?在线等…
- *******dll中可以传一个数据连接吗?*******
- 一个奇怪的问题!(附代码)
- richedit如何改变字体的粗体、斜体、下划线等属性
- VirtualTree控件如何绘进度条?
if object_id('TA') is not null
drop table TA
go
create table TA
(
品名 varchar(10),
日期 varchar(10),
单价 numeric(9,1)
)
go
insert into TA
select '钢笔','2010-10-10',5 union all
select '钢笔','2010-10-11',5.5 union all
select '铅笔','2010-10-11',2
go
if object_id('TB') is not null
drop table TB
go
create table TB
(
品名 varchar(10),
数量 int
)
go
insert into TB
select '钢笔',20 union all
select '铅笔',30
goSELECT a.品名,日期,单价,数量=CASE WHEN a.品名=(SELECT top 1 品名 FROM TA where 品名=a.品名) and 日期=(select min(日期) from ta where 品名=a.品名) then cast(数量 as varchar) else '' end from TA a left join TB b on a.品名=b.品名