จะเปรียบเทียบค่าสองค่าที่มากกว่าด้วย sql ทำยังไงคะ
เอาตัวอย่างข้อมูล กับผลลัพธ์ที่ต้องการ โพสลงด้วยก็ดีนะครับ
ผมอ่านโจทย์ยังไม่เข้าใจเลย
Date :
2012-04-24 13:17:52
By :
rootElement@kmutnb
ตารางงาน
id name latest earliest_hr
1 a 36 24
2 b 72 20
3 c 24 15
ตารางรถ
id car time
1 x 10
2 y 15
3 z 20
ต้องการ SELECT ตารางงาน โดยให้เรียงตามสมการ latest - MAX(earliest_hr,MIN(time)) โดย latest, earliest_hr เป็นของแต่ละฟิลด์ ส่วน time เป็นข้อมูลที่น้อยที่สุดในตารางรถ ในที่นี้คือ 10
ขอบคุณมากนะคะ
Date :
2012-04-24 14:07:58
By :
yam19
ปล. database เขียนด้วย Access ค่ะ
Date :
2012-04-24 14:15:17
By :
yam19
ที่จริงคุณก็มีครบทุกอย่างแล้วนะ แต่เรียงประโยค SQL ไม่ถูก ใช่ไหม
ประมาณนี้หละมั้ง
Code (PHP)
select a.id , a.name , latest - MAX(earliest_hr,MIN(time))
from tableA a,tableB b
where a.id=b.id
order by latest - MAX(earliest_hr,MIN(time)) ASC
Date :
2012-04-24 14:17:36
By :
rootElement@kmutnb
max นี่ใช้ได้หรอคะ คือตอนแรกเข้าใจว่า max จะดึงค่าที่มากที่สุดในตารางนั้นมา แต่ที่นี้ดิฉันต้องการ ค่าที่มากที่สุดระหว่างค่าที่น้อยที่สุดในตารางรถ กับ ค่า earliest_hr ในแต่ละ Recode อ่ะค่ะ
ขอบคุณมากนะคะ
Date :
2012-04-24 14:28:34
By :
yam19
ลองแล้วมันไม่ได้อ่ะค่ะ ไม่รู้พิมผิดเองรึป่าว
ช่วยหน่อยนะคะ
ขอบคุณค่ะ
Date :
2012-04-24 14:35:26
By :
yam19
ใช่อย่างที่ว่า ใช้ max ไม่ได้
Code (PHP)
select id , name , IF(earliest_hr>MIN(time),latest - earliest_hr ,latest - MIN(time)) as latest
from tableA a,tableB b
where a.id=b.id
order by latest ASC
Date :
2012-04-24 15:54:33
By :
rootElement@kmutnb
ใช้ IF ใน Access ไม่ได้อ่ะค่ะ
Date :
2012-04-25 15:25:51
By :
yam19
CASE WHEN ลองดูครับ
Date :
2012-04-25 15:54:27
By :
webmaster
ได้แล้วค่ะ ขอบคุณมากๆๆๆ นะคะ
Date :
2012-04-26 10:56:30
By :
yam19
Load balance : Server 00