当前位置: 代码迷 >> Sql Server >> SQL数据库查询有关问题!
  详细解决方案

SQL数据库查询有关问题!

热度:8   发布时间:2016-04-27 11:58:59.0
SQL数据库查询问题!!
HTML code
 表1:    <table>     <tr>      <td>Name</td>      <td>数量</td>     </tr>     <tr>      <td>A</td>      <td>100</td>     </tr>     <tr>      <td>B</td>      <td>200</td>     </tr>     <tr>      <td>A</td>      <td>150</td>     </tr>     <tr>      <td>A</td>      <td>100</td>     </tr>     <tr>      <td>B</td>      <td>300</td>     </tr>    </table>    <br />    表2:    <table>     <tr>      <td>Name</td>      <td>单价</td>     </tr>     <tr>      <td>A</td>      <td>0.2</td>     </tr>     <tr>      <td>B</td>      <td>0.6</td>     </tr>    </table>    <br />    查询结果:    <table>     <tr>      <td>Name</td>      <td>数量</td>      <td>总价</td>     </tr>     <tr>      <td>A</td>      <td>3</td>      <td>70</td>     </tr>     <tr>      <td>B</td>      <td>2</td>      <td>300</td>     </tr>    </table>

如上,要怎么写?

------解决方案--------------------
SQL code
select     a.name,    sum(a.数量)*b.单价 as 合计 from     tb1 ainner join    tb2 bon     a.name=b.namegroup by     a.name
------解决方案--------------------
SQL code
create table #A(    name nvarchar(10),    number int)insert into #Aselect 'A', 100insert into #Aselect 'B', 200unionselect 'A', 150unionselect 'A', 100unionselect 'B', 300create table #B(    name nvarchar(10),    price decimal(5, 1))insert into #Bselect 'A', 0.2unionselect 'B', 0.6--Query--select a.name, count(*) as number, sum(a.number * b.price) as totPricefrom #A a, #B bwhere a.name = b.namegroup by a.nameorder by a.name--name    number    totPrice--A    3    70.0--B    2    300.0
  相关解决方案