 |
รบกวนช่วยดูคำสั่ง sql ในการ select ข้อมูลที่่ ว่าง กับ ไม่ว่างครับ รันแล้วค้่างครับ |
|
 |
|
|
 |
 |
|
โค้ดนี้เป็นโค้ดที่ แสดงข้อมูล คอลัมน์ที่ต้องการถ้าว่าง ให้แสดงแถวนั้น แสดงผลได้ปกติครับ
Code (PHP)
$sql=" SELECT position.positionlevel_name , position.positiondivition_name,ob.rank,ob.firstnow,ob.salary,ob.ranknow ,ob.daybefore ,ob.birth ,ob.rank,.ob.name, ob.lastname,ob.sex, ob.id ,position.idposition ,position.position
,ob.level,ob.lvsalary , ob.manset,ob.levelmaster ,ob.sv,ob.pgg ,ob.pbg
from ob
LEFT JOIN position ON ob.idposition = position.idposition
WHERE ob.idposition = position.idposition
and ob.pgg = ''
and ob.pbg = ''
and ob.sv = ''
";
แล้วทีนี้ผมลองแก้จาก = '' (ค่าว่าง) เป็น != '' (ไม่ว่าง) และจาก AND เป็น OR เพราะบางคอลัมน์มีค่าว่าง
แล้วไม่สามารถแสดงผลได้ครับ มันค้างไปเลยครับ
Code (PHP)
$sql=" SELECT position.positionlevel_name , position.positiondivition_name,ob.rank,ob.firstnow,ob.salary,ob.ranknow ,ob.daybefore ,ob.birth ,ob.rank,.ob.name, ob.lastname,ob.sex, ob.id ,position.idposition ,position.position
,ob.level,ob.lvsalary , ob.manset,ob.levelmaster ,ob.sv,ob.pgg ,ob.pbg
from ob
LEFT JOIN position ON ob.idposition = position.idposition
WHERE ob.idposition = position.idposition
or ob.pgg != ''
or ob.pbg != ''
or ob.sv != ''
";
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2013-07-04 00:29:02 2013-07-04 00:32:01 2013-07-04 00:32:43 2013-07-04 00:32:57 2013-07-04 00:33:48 2013-07-04 00:36:14
|
 |
 |
 |
 |
Date :
2013-07-04 00:28:28 |
By :
puldool |
View :
2487 |
Reply :
11 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
left join ให้ ob.idposition = position.idposition ไปแล้ว
ทำไม WHERE ยังต้องให้ มัน เท่ากันอีกล่ะครับ >>> ob.idposition = position.idposition
ลองเอา query ไป รันบน phpmyadmin มัน return ข้อมูลให้ไหมครับ??
|
ประวัติการแก้ไข 2013-07-04 07:37:14
 |
 |
 |
 |
Date :
2013-07-04 07:35:25 |
By :
champkung226 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองรันดูในใน phpmyadmin โค้ดชุดอันบนมันแสดงนะครับ แต่โค้ดชุดอันล่าง ค้างครับ
โค้ดชุดล่าง เคยลองตัด where ออก มันก็ค้างเหมือนเดิมอะครับ งงมากมาย
|
ประวัติการแก้ไข 2013-07-04 08:15:52
 |
 |
 |
 |
Date :
2013-07-04 08:15:01 |
By :
puldool |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

or ob.pgg <> "" or ob.pbg <> "" or ob.sv <> ""
ของแบบนี้ดูจะได้มั้ยครับ
|
ประวัติการแก้ไข 2013-07-04 08:28:08 2013-07-04 08:31:08
 |
 |
 |
 |
Date :
2013-07-04 08:27:11 |
By :
Joe_Dev |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองทำตามที่บอกก็ยังไม่ได้นะครับ ยังค้างเหมือนเดิมครับ
Code (PHP)
" SELECT position.positionlevel_name , position.positiondivition_name,ob.rank,ob.firstnow,ob.salary,ob.ranknow ,ob.daybefore ,ob.birth ,ob.rank,.ob.name, ob.lastname,ob.sex, ob.id ,position.idposition ,position.position
,ob.level,ob.lvsalary , ob.manset,ob.levelmaster ,ob.sv,ob.pgg ,ob.pbg
from ob
LEFT JOIN position ON ob.idposition = position.idposition
where ob.pgg <>'' or ob.pbg <> '' or ob.sv <> '';
|
ประวัติการแก้ไข 2013-07-04 19:42:54 2013-07-04 19:44:38
 |
 |
 |
 |
Date :
2013-07-04 19:41:46 |
By :
puldool |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code
" SELECT position.positionlevel_name , position.positiondivition_name,ob.rank,ob.firstnow,ob.salary,ob.ranknow ,ob.daybefore ,ob.birth ,ob.rank,.ob.name, ob.lastname,ob.sex, ob.id ,position.idposition ,position.position
,ob.level,ob.lvsalary , ob.manset,ob.levelmaster ,ob.sv,ob.pgg ,ob.pbg
from ob
LEFT JOIN position ON ob.idposition = position.idposition
where ob.pgg <>'' or ob.pbg <> '' or ob.sv <> '';
มันมี . เกินมานิลองเช็คดู
|
 |
 |
 |
 |
Date :
2013-07-04 19:54:52 |
By :
Krungsri |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เห็น มี 3 or ลองตัด or ออกทีละตัวครับ จะได้รู้ว่าค้างที่ ตัวไหนครับ
|
 |
 |
 |
 |
Date :
2013-07-04 19:55:14 |
By :
champkung226 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตามเรปบนครับ .ob.name เกินมาจุดนึงครับ
|
 |
 |
 |
 |
Date :
2013-07-04 19:57:10 |
By :
champkung226 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พี่ๆครับ ถ้าหากว่าใช้ แค่ where อย่างเดียวได้ครับ
เช่น
where
ob.sv <>''
แต่ถ้ามีการเพิ่ม or เข้าไปค้างเลยอะครับ ผมจำเป็นต้องใช้เงื่อนไข ตรวจสอบ 3 column ด้วยน่้ะครับ
|
 |
 |
 |
 |
Date :
2013-07-04 20:13:12 |
By :
puldool |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ จะลองแก้ดูครับ
|
ประวัติการแก้ไข 2013-07-04 21:18:25
 |
 |
 |
 |
Date :
2013-07-04 21:11:55 |
By :
puldool |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คิดว่าออกมาตามต้องการแล้วครับ ขอบคุณมากๆครับ
เปลี่ยนเป็น inner join ตรวจสอบค่า id ที่ตรงกันครับ
Code (PHP)
SELECT * FROM ob
INNER JOIN position ON ob.id= position.id
where sv <>''
or pgg <>''
or pbg <>''
|
 |
 |
 |
 |
Date :
2013-07-04 21:23:57 |
By :
puldool |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|