|  | 
	                
  
    |  |  
    | 
        
        เลือกเลขที่ผลิต 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 :
                          1141 | 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 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |