+ -
当前位置:首页 → 问答吧 → 求个sql查询语句

求个sql查询语句

时间:2011-12-22

来源:互联网

表A
 name feiyong Aid
家乐福 条码费 1
华润 促销政策 2
沃尔玛 促销政策 3
----------------------------------------------------------------------
如果feiyong值是 促销政策 则有表B

name price num Aid
打折 100 无 2
赠品 无 10 2
打折 300 无 3
赠品 无 20 3
-------------------------------------------------------------------------
想要实现如下查询结果 怎么写sql啊?
 name feiyong  
家乐福 条码费  
华润 促销政策:{类型:打折;价格:100;} {类型:赠品;数量:10;}  
沃尔玛 促销政策:{类型:打折;价格:300;} {类型:赠品;数量:20;} 

作者: aelfintiger   发布时间: 2011-12-22

搜索合并列值。

作者: fredrickhu   发布时间: 2011-12-22

select 表A.name,表A.feiyong,表B.name,表B.price
from 表A LEFT JOIN 表B ON 表A.Aid=表B.Aid

作者: kookworm   发布时间: 2011-12-22

SQL code
select a.name,a.feiyung,b.content from t1 a inner join(
select aid,
STUFF((select '{类型:'+name+(case when name='打折' then '价格:' else '数量:' end)+LTRIM(price) from t2 for xml path('')),1,1,'')as content 
from t2 group by aid
)b on a.aid=b.aid

作者: qianjin036a   发布时间: 2011-12-22

SQL code
select a.name,a.feiyung,b.content from t1 a inner join(
select aid,
STUFF((select '{类型:'+name+(case when name='打折' then '价格:' else '数量:' end)+LTRIM(price)+';}' from t2 for xml path('')),1,1,'')as content 
from t2 group by aid
)b on a.aid=b.aid

作者: qianjin036a   发布时间: 2011-12-22