首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请帮助写个SQL语句,要求一句话能完成.解决办法

2012-03-27 
请帮助写个SQL语句,要求一句话能完成.以下为生成的结果供应商订单编号001PO001PO002PO003PO004002AB001AB0

请帮助写个SQL语句,要求一句话能完成.
以下为生成的结果

供应商订单编号
001PO001
PO002
PO003
PO004
002AB001
AB002


供应商表:
idname
001001 english name
002002 english name

订单表:
ponbrvendor
001PO001
001PO002
001PO003
001PO004
002AB001
002AB002

以前看到有人写过,一下子想不起来如何写了,一个LEFT JOIN就能完成的.

[解决办法]

SQL code
create table 订单表(ponbr varchar(10),vendor varchar(10))insert into 订单表 values('001', 'PO001')insert into 订单表 values('001', 'PO002')insert into 订单表 values('001', 'PO003')insert into 订单表 values('001', 'PO004')insert into 订单表 values('002', 'AB001')insert into 订单表 values('002', 'AB002')goselect case when vendor = (select top 1 vendor from 订单表 where ponbr = t.ponbr order by vendor) then ponbr else '' end 供应商 , vendor 订单编号 from 订单表 t/*供应商        订单编号       ---------- ---------- 001        PO001           PO002           PO003           PO004002        AB001           AB002(所影响的行数为 6 行)*/select case when vendor = (select min(vendor) from 订单表 where ponbr = t.ponbr) then ponbr else '' end 供应商 , vendor 订单编号 from 订单表 t/*供应商        订单编号       ---------- ---------- 001        PO001           PO002           PO003           PO004002        AB001           AB002(所影响的行数为 6 行)*/drop table 订单表 

热点排行