 |
|
รบกวนสอบถามการ Query 3 ตารางด้วยคำสั่ง Group By และ Having ด้วยครับ |
|
 |
|
|
 |
 |
|
คือผมมี ตารางอยู่ 3 ตาราง มี Item_Price, Item_In, Item_Out
Item_Price เก็บรหัสอะไหล่ และอะไหล่รหัสเดียวมีหลายราคา

Item_In เอาไว้เก็บข้่อมูลการนำเข้าอะไหล่

Item_Out เอาไว้เก็บข้อมูลกายจำหน่ายออก

ผมก็เลยต้องการ Select จำนวนเข้าและออก ตามราคา ของแต่ละอะไหล่นั้น ตามภาพครับ ผลที่ได้คือการ Sum จำนวนออก ไม่ตรงครับ

Code (คำสั่ง SQL ที่ผมใช้ครับ)
SELECT P.item_price,Sum(item_qtyin),Sum(item_qtyout)
FROM Item_Price P, Item_in I , Item_out O
WHERE P.item_price_number=I.item_price_number AND P.item_price_number=O.item_price_number
GROUP BY P.item_price,P.item_id, I.item_id,I.item_price_number,O.item_price_number,O.item_id
HAVING P.item_id="A001" AND I.item_id="A001" AND O.item_id="A001"
Tag : .NET, Ms Access, MySQL, Ms SQL Server 2008, VBScript, VB.NET
|
|
 |
 |
 |
 |
Date :
2018-02-13 11:38:24 |
By :
tongchimlang |
View :
1803 |
Reply :
8 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
item_price Expr1001 Expr1002
176.55 15 1
25 3 2
คำตอบที่ควรจะได้ ผมผิดพลาดตกหล่นตรงไหน
รบกวนขอคำแนะนำด้วยนะครับ ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2018-02-13 14:01:38 |
By :
tongchimlang |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
SELECT SUM(item_price),SUM(item_qtyin),SUM(item_qtyou)
FROM Item_Price
LEFT JOIN Item_In ON Item_Price.item_price_number=Item_In.item_price_number
LEFT JOIN Item_Out ON Item_Price.item_price_number=Item_Out.item_price_number
WHERE Item_Price.item_id='A001' AND
Item_In.item_id='A001' AND
Item_Out.item_id='A001'
|
 |
 |
 |
 |
Date :
2018-02-13 14:16:23 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองใส่วงเล็บกำกับแบบนี้ดูครับ
Code (SQL)
select
t1.c1
, t2.c2
, t3.c3
, t4.c4
from ((t1
inner join t2 on t1.something = t2.something)
inner join t3 on t2.something = t3.something)
inner join t4 on t3.something = t4.something
|
 |
 |
 |
 |
Date :
2018-02-13 15:55:03 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมใส่วงเล็บขั้น ไม่ Error แล้วครับแต่ยังไม่ใช่ผลลัพพ์ที่ต้องการครับผม..

ผมต้องการ
ๅ

|
ประวัติการแก้ไข 2018-02-13 16:21:46
 |
 |
 |
 |
Date :
2018-02-13 16:20:20 |
By :
tongchimlang |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใส่ Gropby และ Distince ไปที่ SUM
Code (SQL)
SELECT SUM(DISTINCT item_price),SUM(DISTINCT item_qtyin),SUM(DISTINCT item_qtyou)
FROM Item_Price
LEFT JOIN Item_In ON Item_Price.item_price_number=Item_In.item_price_number
LEFT JOIN Item_Out ON Item_Price.item_price_number=Item_Out.item_price_number
WHERE Item_Price.item_id='A001' AND
Item_In.item_id='A001' AND
Item_Out.item_id='A001'
GROUP BY Item_Price.item_price_number,Item_In.item_price_number,Item_Out.item_price_number
|
 |
 |
 |
 |
Date :
2018-02-13 17:04:31 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ข้างบนไม่ถูกนะครับ เอาตัวนี้
Code (SQL)
SELECT DISTINCT
(SELECT SUM(t1.item_price)FROM Item_Price t1 WHERE t1.item_id='A001' AND t1.item_price_number=Item_Price.item_price_number GROUP BY t1.item_price_number) item_price,
(SELECT SUM(t2.item_qtyin)FROM Item_In t2 WHERE t2.item_id='A001' AND t2.item_price_number=Item_Price.item_price_number GROUP BY t2.item_price_number) item_qtyin,
(SELECT SUM(t3.item_qtyou)FROM Item_Out t3 WHERE t3.item_id='A001' AND t3.item_price_number=Item_Price.item_price_number GROUP BY t3.item_price_number) item_qtyin
FROM Item_Price
|
 |
 |
 |
 |
Date :
2018-02-13 17:41:20 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|