เลือกเลขที่ผลิต 1 เลขที่ เพื่อหาจำนวนจองทั้งหมด,จำนวนจองของเลขที่ผลิตที่เราเลือก,คงคลัง,คงคลัง-จำนวนจองทั้งหมด
ตอนนี้ผมติดตรง หาค่าจำนวนจองทั้งหมดไม่ได้
ซึ่งมันจะได้เฉพาะจำนวนจองของเลขที่ผลิตที่เราเลือก
Code (VB.NET)
sb.Append(" SELECT SUM(ISNULL(MarkingDetail.Amount_Requis,0))AS Total,") 'ติดตรงนี้ รวมจองทั้งหมดได้จากทุกเลขที่ผลิต sb.Append(" MarkingDetail.Amount_Requis,") 'จองเฉพาะเลขที่
sb.Append(" (Stocks.Amount + - MarkingDetail.Amount_Requis) AS Stock,") 'ติดตรงนี้ คงคลัง-จองทั้งหมด
sb.Append(" MarkingDetail.ProductNo,Marking.Marking_Date, Production.DatePD, Production.DateDelivery, ")
sb.Append(" Production.AmountPD, Production.CustomerID, GenerateFG.Fullname, GenerateFG.Model, GenerateFG.SizeW, GenerateFG.SizeL, GenerateFG.SizeH, ")
sb.Append(" GenerateFG.SizeT, GenerateFG.Color, GenerateFG.Charector, GenerateFG.Dwgno, GenerateFG.Amount AS PDAmount, GenerateFG.Unit, ")
sb.Append(" Stocks.GradName, Stocks.MATW, Stocks.MATL, Stocks.MATH, Stocks.MATT, Stocks.WeightSize, Stocks.Strong, Stocks.Amount, ")
sb.Append(" Production.ProductionID, Stocks.Color AS ColorStocks, Stocks.Remark, MarkingDetail.ProductNo, MarkingDetail.Product, MarkingDetail.Amount_Weight, ")
sb.Append(" Marking.GenerateID, GenerateFG.Charector_Format, Stocks.UNIT AS StocksUNIT,Production.DateDelivery,")
sb.Append(" Production.DatePD, MarkingDetail.GenerateID, Marking.Marking_Date")
sb.Append(" FROM MarkingDetail LEFT OUTER JOIN")
sb.Append(" Stocks ON Stocks.PRODUCT = MarkingDetail.Product LEFT OUTER JOIN")
sb.Append(" Marking ON Marking.ProductNo = MarkingDetail.ProductNo LEFT OUTER JOIN")
sb.Append(" Production ON Marking.ProductNo = Production.ProductionID LEFT OUTER JOIN")
sb.Append(" GenerateFG ON Marking.GenerateID = GenerateFG.GenerateID")
sb.Append(" Where (MarkingDetail.ProductNo=@ProductNo)And MarkingDetail.StatusEditRequis='False'")
sb.Append(" GROUP BY MarkingDetail.ProductNo,Marking.Marking_Date, Production.DatePD, Production.DateDelivery, Production.CustomerID, Production.AmountPD, GenerateFG.Fullname, ")
sb.Append(" GenerateFG.Model, GenerateFG.SizeW, GenerateFG.SizeL, GenerateFG.SizeH, GenerateFG.SizeT, GenerateFG.Color, GenerateFG.Charector, ")
sb.Append(" GenerateFG.Dwgno, GenerateFG.Amount, GenerateFG.Unit, Stocks.GradName, Stocks.MATW, Stocks.MATL, Stocks.MATH, Stocks.MATT, ")
sb.Append(" Stocks.WeightSize, Stocks.Strong, Stocks.Amount, Production.ProductionID, Stocks.Color, Stocks.Remark, MarkingDetail.ProductNo, ")
sb.Append(" MarkingDetail.Product, MarkingDetail.Amount_Weight, Marking.GenerateID, GenerateFG.Charector_Format, Stocks.UNIT, ")
sb.Append(" MarkingDetail.StatusEditRequis, Production.DateDelivery, ")
sb.Append(" MarkingDetail.Amount_Requis,") 'Stocks.Amount-MarkingDetail.Amount_Requis,
sb.Append(" Production.DatePD, MarkingDetail.GenerateID, Marking.Marking_Date")
Tag : .NET, VB.NET
Date :
2010-12-07 13:15:28
By :
chin
View :
1079
Reply :
4
Code (VB.NET)
select sum(*) as s_all from table_name
ลองเอาแบบนี้ไปใช้ดูครับ
Date :
2010-12-07 16:38:56
By :
kanchen
ลองค่อย ๆ คิด โดยเริ่มจาก พิมพ์เป็นภาษไทยก่อนได้ไหมครับว่า ต้องการอะไร โดยพิจรณาจากสิ่งที่มีอยู่ว่าทำได้ไหม แล้วลอง คิดออกมาครับ เพราะผมอ่านแล้วยังงงอยุ่เลยว่าถามอะไร
Date :
2010-12-07 17:19:31
By :
zero1150kfc
ตอบความคิดเห็นที่ : 3 เขียนโดย : zero1150kfc เมื่อวันที่ 2010-12-07 17:19:31
รายละเอียดของการตอบ ::
ประมาณนี้ก่อนครับ ที่ต้องการ
เมื่อ StatusEditRequis = 'False' ให้แสดง 1.วัตถุดิบที่จอง
เฉพาะเลขที่ผลิต ที่เราเลือก 2.รวมจำนวนวัตถุดิบที่จอง
ทุกเลขที่ผลิต Amount_Requis คือ จำนวนที่จอง
@ProductNo คือเลขที่ผลิต
ผมทำแบบนี้ค่ามันไม่ออก
SELECT ProductNo, Product,CASE ProductNo WHEN @ProductNo THEN (ISNULL(Amount_Requis, 0)) ELSE 1 END AS Requis, 'จำนวนวัตถุดิบที่จองเฉพาะเลขที่ผลิต
SUM(CASE StatusEditRequis WHEN 'False' THEN (ISNULL(Amount_Requis, 0)) ELSE 1 END) AS Total 'รวมจำนวนวัตถุดิบที่ถูกจองทุกเลขที่ผลิต
FROM MarkingDetail
WHERE (StatusEditRequis = 'False')
GROUP BY ProductNo, Product, CASE ProductNo WHEN @ProductNo THEN (ISNULL(Amount_Requis, 0)) ELSE 1 END
ถ้าทำแบบนี้ได้
แต่ค่าไม่ถูกต้อง เพราะ
ค่าจำนวนวัตถุดิบที่จอง
เฉพาะเลขที่ผลิต เท่ากับ ค่ารวมจำนวนวัตถุดิบที่ถูกจอง
ทุกเลขที่ผลิต
จริงๆแล้วค่าต้องไม่เท่ากัน ค่ารวมจำนวนวัตถุดิบที่ถูกจอง
ทุกเลขที่ผลิต ต้องมากกว่า
SELECT ProductNo, Product,CASE ProductNo WHEN @ProductNo THEN (ISNULL(Amount_Requis, 0)) ELSE 1 END AS Requis, 'จำนวนวัตถุดิบที่จองเฉพาะเลขที่ผลิต
SUM(CASE StatusEditRequis WHEN 'False' THEN (ISNULL(Amount_Requis, 0)) ELSE 1 END) AS Total 'รวมจำนวนวัตถุดิบที่ถูกจองทุกเลขที่ผลิต
FROM MarkingDetail
WHERE (StatusEditRequis = 'False') And ProductNo =@ProductNo
GROUP BY ProductNo, Product, CASE ProductNo WHEN @ProductNo THEN (ISNULL(Amount_Requis, 0)) ELSE 1 END
Date :
2010-12-08 15:07:46
By :
chin
Load balance : Server 01