SQL的查询问题 ( 积分: 100 )

  • 主题发起人 主题发起人 Leaze
  • 开始时间 开始时间
L

Leaze

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个表(SQL&nbsp;SERVER&nbsp;2000):<br>1、配件表(pjk):<br>图号&nbsp;&nbsp;名称&nbsp;&nbsp;进口单价&nbsp;国产单价<br>001&nbsp;&nbsp;&nbsp;甲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.00&nbsp;&nbsp;&nbsp;&nbsp;5.00<br>002&nbsp;&nbsp;&nbsp;乙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.00&nbsp;&nbsp;&nbsp;&nbsp;4.00&nbsp;<br>003&nbsp;&nbsp;&nbsp;丙&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.00&nbsp;&nbsp;&nbsp;&nbsp;4.50&nbsp;<br><br>2、产品表(pjzh):<br>货号&nbsp;&nbsp;图号&nbsp;&nbsp;数量&nbsp;&nbsp;&nbsp;产地<br>a1&nbsp;&nbsp;&nbsp;001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进口<br>a1&nbsp;&nbsp;&nbsp;002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;国产&nbsp;&nbsp;<br>a2&nbsp;&nbsp;&nbsp;002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;国产<br>a2&nbsp;&nbsp;&nbsp;003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进口<br>a3&nbsp;&nbsp;&nbsp;001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;国产<br>a3&nbsp;&nbsp;&nbsp;002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进口&nbsp;&nbsp;<br>a3&nbsp;&nbsp;&nbsp;003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;国产<br><br>请教SQL高手要得到如下的报价表(bjmx),SQL语句应该如何写?谢谢!!!<br>货号&nbsp;&nbsp;图号&nbsp;&nbsp;数量&nbsp;&nbsp;&nbsp;单价&nbsp;&nbsp;&nbsp;&nbsp;总价<br>a1&nbsp;&nbsp;&nbsp;001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.00&nbsp;&nbsp;&nbsp;&nbsp;21.00<br>a1&nbsp;&nbsp;&nbsp;002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.00&nbsp;&nbsp;&nbsp;&nbsp;20.00&nbsp;&nbsp;<br>a2&nbsp;&nbsp;&nbsp;002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.00&nbsp;&nbsp;&nbsp;&nbsp;12.00<br>a2&nbsp;&nbsp;&nbsp;003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.00&nbsp;&nbsp;&nbsp;&nbsp;6.00<br>a3&nbsp;&nbsp;&nbsp;001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.00&nbsp;&nbsp;&nbsp;&nbsp;10.00<br>a3&nbsp;&nbsp;&nbsp;002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.00&nbsp;&nbsp;&nbsp;&nbsp;10.00&nbsp;&nbsp;<br>a3&nbsp;&nbsp;&nbsp;003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.50&nbsp;&nbsp;&nbsp;&nbsp;13.50<br>问题的关键是如何根据产品表(pjzh)的&quot;产地&quot;从配件表(pjk)中得到不同的单价?
 
select&nbsp;a.货号,a.图号,a.数量&nbsp;,b.进口单价,总价=a.数量&nbsp;*case&nbsp;when&nbsp;a.产地='进口'&nbsp;then&nbsp;b.进口单价&nbsp;else&nbsp;b.国产单价&nbsp;end<br>from&nbsp;pjzh&nbsp;a&nbsp;left&nbsp;join&nbsp;pjk&nbsp;b&nbsp;on&nbsp;a.图号=b.图号<br>这样就可以了
 
select&nbsp;a.货号,a.图号,a.数量&nbsp;,单价=case&nbsp;when&nbsp;a.产地='进口'&nbsp;then&nbsp;b.进口单价&nbsp;else&nbsp;b.国产单价&nbsp;end,总价=a.数量&nbsp;*case&nbsp;when&nbsp;a.产地='进口'&nbsp;then&nbsp;b.进口单价&nbsp;else&nbsp;b.国产单价&nbsp;end<br>from&nbsp;pjzh&nbsp;a&nbsp;left&nbsp;join&nbsp;pjk&nbsp;b&nbsp;on&nbsp;a.图号=b.图号
 
后退
顶部