เรื่องมีอยู่ว่า ต้องการจะเขียน SQL สำหรับดึงข้อมูลตาม id ที่รู้อยู่แล้วชุดหนึ่งออกมา
ถ้าเรามีตัวแปร id พวกนั้นอยู่ก่อนแล้ว ก็จะเขียนได้ประมาณนี้
(เขียนด้วยภาษา php นะ)
$id = array(1, 2, 3, 10, 12);
$sql = '
select *
from Products
where id in (' . implode(',', $id) . ')
';
โค้ดธรรมดามาก เอาไปรันก็จะได้ตัวแปร $sql ออกมาประมาณนี้
select *อ้าว! แล้วมันไม่ได้อะไรตรงไหน
from Products
where id in (1, 2, 3, 10, 12)
ก็ผลที่รันออกมาหลังจากเอาไป execute แล้วมันได้ประมาณนี้น่ะสิ
|----|---------|เอ๊ะ ทำไมเลขมันไม่เรียงกันตามที่เราใส่ไปล่ะ?
| id | name |
|----|---------|
| 2 | pencil |
| 10 | books |
| 3 | cup |
| 1 | pen |
| 12 | rubber |
|----|---------|
