  | 
              
	              
	                
  
    
	 
        Mysql เปรียบเทียบค่า2ตาราง มาก-น้อยต่างกัน ใช้ where ยังไงครับ     | 
   
  
    |   | 
   
 
 
 
              
  
          
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 join พื้นฐาน ถ้ายังไม่รู้คำสั่งพื้นฐาน หาอ่านให้รู้ให้เข้าใจก่อน ถ้าอยากจะเป็นและเก่ง 
 
ถ้าไม่อยากจะเป็นและเก่ง ก็จ้างเขาดีกว่า  
 
ทดลองทำก่อนแล้วถ้าติดขัดตรงไหนค่อยเอาโค๊ดมาถาม ให้รู้ว่าคุณมีความใส่ใจที่จะเรียนรู้ที่จะพยายามทำ                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-09 10:04:20 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ช่วยอธิบายให้พอเข้าใจหน่อยได้มั้ยครับ ผมพยายามทั้งวันแล้วก็ไม่ได้ 
หรือช่วยยกตัวอย่างพอเล็กน้อยได้มั้ยครับ                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-09 18:58:43 | 
                        By :
                            cles | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 เอาโค๊ดที่คุณพยายามมาแสดงหน่อย                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-09 20:47:02 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                   
 
 
Code 
 Private Sub Bind_dgv_small()
        conn.Open()
        Dim strSQL As String = "select (product.id_code) as id,(product.code) as code,(product.name_) as name_,(product_cat.cat_name) as cat_name,(product.sell) as sell " + _
                       ",CONCAT(sum(product_in_out.num - product_in_out.num_sell)),' ',product_pack.pack_name as sum_stock ,if(product.status = '1','สมบูรณ์','ระงับ') as status " + _
                      "from product,product_in_out,product_cat,product_pack where (product.id_code = product_in_out.id_code) and (product.id_cat = product_cat.id) and (product.id_pack = product_pack.id) and (product_in_out.status = '1') and (product.low >= sum_stock) group by product_in_out.id_code  order by product.name_"
        strSQL_print = strSQL
        Dim Cmd As New MySqlCommand(strSQL, conn)
        Dim adaptre As New MySqlDataAdapter(Cmd)
        Dim data As New DataSet()
        adaptre.Fill(data, "data_all")
        lbl_reccord.Text = data.Tables("data_all").Rows.Count()
        dgv.DataSource = data.Tables("data_all")
        dgv.Columns.Clear()
        Dim column As DataGridViewTextBoxColumn
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "id"
        column.HeaderText = ""
        column.Width = 0
        dgv.Columns.Add(column)
        dgv.Columns(0).Visible = False 'ซ่อน column
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "code"
        column.HeaderText = "รหัส"
        column.Width = 130
        dgv.Columns.Add(column)
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "name_"
        column.HeaderText = "ชื่อสินค้า"
        column.Width = 150
        dgv.Columns.Add(column)
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "cat_name"
        column.HeaderText = "ประเภทสินค้า"
        column.Width = 120
        dgv.Columns.Add(column)
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "sell"
        column.HeaderText = "ราคาขาย"
        column.Width = 90
        dgv.Columns.Add(column)
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "sum_stock"
        column.HeaderText = "จำนวนสต๊อก"
        column.Width = 110
        dgv.Columns.Add(column)
        column = New DataGridViewTextBoxColumn()
        column.DataPropertyName = "status"
        column.HeaderText = "สถานะ"
        column.Width = 80
        dgv.Columns.Add(column)
        conn.Close()
        If lbl_reccord.Text = "0" Then
            btn_print.Enabled = False
        Else
            btn_print.Enabled = True
        End If
    End Sub
                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2017-08-12 02:47:29              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-09 21:42:42 | 
                        By :
                            cles | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 CONCAT(sum(product_in_out.num - product_in_out.num_sell)),' ',product_pack.pack_name as sum_stock 
 
 
(product.low >= sum_stock)                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2017-08-09 21:49:49              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-09 21:47:03 | 
                        By :
                            cles | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 จุดผิดก่อน ไม่เออเร่อร์แต่ไม่ถูกเพราะวงเล็บครอบผิดที่ 
 CONCAT(sum(product_in_out.num - product_in_out.num_sell)),' ',product_pack.pack_name as sum_stock 
ควรจะเป็น 
 CONCAT(sum(product_in_out.num - product_in_out.num_sell),' ',product_pack.pack_name) as sum_stock 
หรือ 
 CONCAT(sum(product_in_out.num - product_in_out.num_sell)) as sum_stock,' ',product_pack.pack_name 
 
และจากที่คุณใช้ sum() คุณจะใส่ condition เกี่ยวกับ sum ลงใน where clause ไม่ได้ 
คุณต้องใส่หลังจาก group by ด้วยคำสั่ง having  product.low>=sum_stock 
และ sum_stock ของคุณก็เป็น string นำมาเปรียบเทียบกัน ก็คงไม่ได้อีก ไม่เออเร่อร์ แต่เพี้ยนแน่นอน 
 
 
 
ควรใช้ subquery เข้ามาช่วย 
select (product.id_code) as id,(product.code) as code,(product.name_) as name_,(product_cat.cat_name) as cat_name,(product.sell) as sell , 
CONCAT( (inout.stkIN - inout.stkOUT),' ', product_pack.pack_name as sum_stock ,
if(product.status = '1','สมบูรณ์','ระงับ') as status 
from product,
product_cat,product_pack ,
(select id_code, sum(num) as stkIN, sum(num_sell) as stkOUT 
from product_in_out where status=1
group by id_code) as inout
where (product.id_code = inout.id_code) 
and (product.id_cat = product_cat.id) 
and (product.id_pack = product_pack.id) 
and (product.low >= (inout.stkIN-inouit.stkOUT)) 
order by product.name
 
                         
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-10 07:29:38 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ขอบคุณท่านมากครับ 
                           
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-10 23:02:56 | 
                        By :
                            cles | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ได้แล้วครับ ขอบคุณท่าน Chaidhanan มากๆครับ 
  
                         
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2017-08-12 02:39:55 | 
                        By :
                            cles | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
      		  
	
     | 
   
 
                 |