 |
php mysql สอบถามเรื่อง การ query ข้อมูลแบบมีเงื่อนไขหน่อยครับ |
|
 |
|
|
 |
 |
|
ข้อมูลจอยกัน 2 ตารางครับ
Code (SQL)
"SELECT A.id,A.posid,A.poscode,A.dcode ,A.sdcode,A.seccode,A.jobcode
,A.pcode,A.fname,A.lname,A.appointdate
FROM emp_start A ,csubdept B
WHERE (A.sdcode=B.sdcode) "
emp_start ตารางคน colum appointdate เก็บ date เช่น
นาย aaa บรรจุ 2015/10/10
นาย bbb บรรจุ
นาย ccc บรรจุ 1900/10/20
คนที่ผิดพลาดคือ นาย a บรรจุวันเข้าทำงาน ก่อนล่วงหน้า เพราะความจริงไม่มี ->>จะดึงมาให้แก้ไข
นาย bbb ไม่มีข้อมูล ->>จะดึงมาให้แก้ไข
นาย ccc อายุเกิน 100 ปีแล้ว ความจริงไม่ใช่ -->> จะดึงออกมาโชว์ให้แก้ไข
วิธีเขียนของผมคือเอา string มาต่อกัน
$query_access .=" AND date_part('year',appointdate) >".$appyear;// อันนี้ คือ แสดงคนที่ เกิน2013 บรรจุล่วงหน้า ok แสดงได้
$query_access .=" OR date_part('year',appointdate) <".$appyear-100;// คนที่อายุเป็น 100 ปี NOT OK แสดงไม่ได้ ค้างไปเลย
$query_access .=" OR date_part('year',appointdate) ="NULL;//คนที่ไม่ได้กรอกวันที่บรรจุ NOT OK แสดงไม่ได้ ค้างไปเลย
ติดปัญหาที่ว่า เมื่อใดก็ตามที่ผม OR เข้าไปคือเงื่อนไขที่ 2 และ3 อ่ะครับ database ค้างหรือ dead ตายไปเลยครับ เป้าหมายคือจะ ดึงออกมาให้หน่วยงานแก้ไข บรรจุก่อนล่วงหน้าบ้าง ข้อมูลว่างบ้าง ข้อมูลอายุเกินบ้าง แต่ query แล้วค้างไปเลยครับ แต่คำสั่งแรกใช้ได้ครับ รบกวนแนะนำด้วยครับ ขอบคุณครับ มือใหม่หัด code ครับผม ขอบคุณครับ ข้อมูลคนมีประมาณ 2 แสนเรคคอร์ด ตาราง csubdept หน่วยงาน 100 หน่วยงานครับ
Tag : PHP
|
ประวัติการแก้ไข 2013-05-02 12:35:06
|
 |
 |
 |
 |
Date :
2013-05-02 12:33:27 |
By :
saravutpt |
View :
1079 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเขียนคิวรี่แบบไม่บังคับตรงเงื่อนไข where ครับ
Code (PHP)
"SELECT A.id,A.posid,A.poscode,A.dcode ,A.sdcode,A.seccode,A.jobcode,A.pcode,A.fname,A.lname,A.appointdate
FROM emp_start A
LEFT JOIN csubdept B ON (A.sdcode=B.sdcode)"
|
 |
 |
 |
 |
Date :
2013-05-02 16:29:12 |
By :
Manussawin |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2013-05-07 13:07:04 |
By :
saravutpt |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|