SELECT species.species_id,species.species_name,transfer.gove_quantity
FROM species,transfer
WHERE transfer.trans_date = '$trans_date'
AND transfer.project_id = '$project_id'
AND transfer.warehouse_id = '$warehouse_id'
GROUP BY species.species_id
ORDER BY transfer.id DESC
คือจะดึงข้อมูลจากตาราง transfer ขึ้นมา
โดยดึงจากตัวแปร $trans_date,$project_id,$warehouse_id อ่ะคะ
ดึงขึ้นมาได้แล้ว แต่มันดึงข้อมูลครั้งแรกสุดที่ทั้งสามตัวแปรชี้ไปอ่ะคะ
ติดปัญหาคือ
หนูต้องการให้ดึงข้อมูลที่ตัวแปรทั้งสามชี้ในตาราง transfer ต้องการข้อมูลครั้งหลังสุดอ่ะคะ
ต้องต้องกำหนดตรงไหนอ่ะคะ
SELECT species.species_id,species.species_name,sum(transfer.gove_quantity)
FROM species
left join transfer
on (species.species_id = transfer.species_id)
WHERE transfer.trans_date = '$trans_date'
AND transfer.project_id = '$project_id'
AND transfer.warehouse_id = '$warehouse_id'
GROUP BY species.species_id
ORDER BY transfer.id DESC
อะไรเป็นตัวบอกว่าเป็นข้อมูลล่าสุดเหรอครับ col trans_date เป็น col Date อย่างเดียวเปล่าครับ
ลองดูของคุณ mee ครับว่าถูกอย่างที่ต้องการหรือยัง ถ้าดูจากข้อมูลแล้วมันน่าจะออกมา ทุก species_id ของในวันเดียวกันอยู่นะครับ แล้วก็จะยังซ้ำกันอยู่
ให้เดานะ สิ่งที่บอกว่าข้อมูลล่าสุดใช่ col ID ของ table transfer หรือเปล่า
จะเห็นว่า id ที่ 834 841 848 species_id เดียวกัน ถ้าใช้ query ของคุณ mee ก็จะออกมา 3 บรรทัดนี้อ่ะครับ
ที่ต้องการล่าสุดนี่หมายถึงให้มันออกมาแค่ที่เป็นค่า id ล่าสุดของแต่ละ species_id งี้เปล่าครับ