程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> select-這個sql語句如何寫??

select-這個sql語句如何寫??

編輯:編程綜合問答
這個sql語句如何寫??

有3個表格,A、B、C

A表結構 (訂單表)
id

Workfee (工時費)

B表結構 (訂單產品表,一個訂單有多個產品)
id
Aid (A表id的外鍵)
chanpinid (倉庫產品的id)
shuliang (數量)

備注:A表與B表外鍵相連的。

C表格 (倉庫表,B表的訂單產品,都來自倉庫!)
id

danjia (單價)

現在想查A的訂單記錄數:工時費 + 產品數量*單價 > 100塊的。如何寫sql??

我寫的不成功。如下:

select distinct(A.id) from ((A JOIN B ON A.id=B.Aid ) inner join C on B.chanpinid=C.id GROUP BY Ai.d HAVING SUM(C.danjia*B.shuliang+A.workfee) >100

就好比:訂購一個面包,有手工費,然後還有原料:面粉3克、鹽巴1克,糖2克等,面粉等原材料價格保存在倉庫表中的。

現在想知道: 手工費+面粉3克*價格 +鹽巴1克*價格 +糖2克*價格 >100的面包,有幾個!!

最佳回答:


標准答案:


create table Table_A (
id int,
Workfee int
)

create table Table_B (
id int,
Aid int,
chanpinid int ,
shuliang int
)

create table Table_C (
id int,
danjia int
);

insert into Table_A values(100,30);
insert into Table_A values(200,20);



insert into Table_B values(1,100,10,10);
insert into Table_B values(2,100,11,5);
insert into Table_B values(3,100,12,5);
insert into Table_B values(4,200,10,2);
insert into Table_B values(5,200,11,2);


insert into Table_C values(10,5);
insert into Table_C values(11,1);
insert into Table_C values(12,20);


SQL:

select a.id,SUM(Workfee + d.shangpinjiage ) from Table_A a,
    (select Aid,SUM(c.danjia * b.shuliang) shangpinjiage
       from Table_B b,Table_C c 
      where b.chanpinid = c.id and b.chanpinid =c.id
      group by Aid)  d
 where a.id = d.Aid
 group by a.id
having SUM(Workfee + d.shangpinjiage ) > 100

linghb99
linghb99
iherolp
dltsbydh
iherolp
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved