 |
|
การ select ข้อมูลตัวเลขในฟิลด์ จาก database แต่มีการหารแล้วได้ค่าเป็น 0 |
|
 |
|
|
 |
 |
|
Code
"SELECT r.c_date,f.f_type,r.c_color,r.c_pu,r.c_che,r.c_paper,r.c_waste,r.c_gas,r.c_total,ISNULL(p.pt_produc,0),(ISNULL(r.c_total,0))*100/ISNULL(p.pt_produc,0) as tnetdiff FROM PTrawmat r left join PTdeptpr f on r.c_type = f.f_type left join PTsum p on r.c_type=p.pt_typed where p.pt_date = r.c_date and p.pt_typed = r.c_type and r.c_type= '" & cmbdept.SelectedValue.ToString() & "' and r.c_date between '" & dtgdates.Value.ToString("yyyy-MM-dd") & "' and '" & dtgdate2.Value.ToString("yyyy-MM-dd") & "'
เวลาคำนวณค่าแล้วได้ค่าเป็น 0 จะ error จะดักยังไงคะ พอใส่ p.pt_produc <> 0 สามารถดัก error ได้ แต่ ข้อมูลจะไม่แสดง
ต้องคีย์ข้อมูลทั้ง 2 ตารางถึงจะแสดง

ต้องการแบบว่า ถ้าใน ในตาราง ที่มีฟิลด์ p.pt_produc ยังไม่ได้คีย์ ก็สามารถแสดงข้อมูลของวันที่ 2 ตามภาพตัวอย่างใน datagrid ได้ อ่ะค่ะ สามารถทำได้ไหมคะ

Tag : .NET, VB.NET
|
|
 |
 |
 |
 |
Date :
2016-04-02 11:50:04 |
By :
ID Line:nunan13 |
View :
1001 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
select (ISNULL(r.c_total,0))*100/ISNULL(p.pt_produc,0) as tnetdiff
Code (SQL)
select CASE WHEN ISNULL(p.pt_produc,0) <= 0 THEN 0 ELSE (ISNULL(r.c_total,0)*100)/ISNULL(p.pt_produc,0) END as tnetdiff
ถ้าตัวหารเป็น 0 ไม่ต้องหารรีเทิร์น 0 ออกไปเลย
ถ้าไม่ใช่ก็หารครับ
|
 |
 |
 |
 |
Date :
2016-04-02 12:21:01 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำได้แล้วค่ะ ใช้วิธี insert ตารางที่ 2 ยอด packing = 0 แต่ไม่แน่ใจมีวิธีที่ดีกว่านี้ไหมคะ
|
 |
 |
 |
 |
Date :
2016-04-02 14:07:22 |
By :
ID Line:nunan13 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
  
|
 |
 |
 |
 |
Date :
2016-04-02 14:10:09 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2016-04-03 22:20:32 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|