สอบถามเรื่อง SQL ครับ

เริ่มโดย marauder, 07 ตุลาคม 2013, 11:25:24

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

marauder

 :wanwan017:  คือผมเขียน php ให้แสดงวันเวลาในช่องระหว่าง เช่น
   แสดงข้อมูลหว่างวันที่ 24-10-2013 เวลา 04:00.00 ถึง วันที่ 25-10-2013 เวลา 03:59.00 ครับ
โดยฐานข้อมูลของผม ดันนี้น่ะครับ

Date -> เก็บวันที่ เริ่มใช้
ETA -> เก็บเวลาที่จะเข้า
ETD -> เก็บเวลาที่จะออก

โดยในช่วงเวลาที่มีปัญหาจะเป็นช่วง 00:00.00 ถึง 03:58.00 ครับที่ข้อมูลจะไม่แสดง  มีวิธีแก้ยังไงได้บ้างครับ


SELECT * FROM  `flight`
WHERE (
f_date
BETWEEN  '2013-09-24'
AND  '2013-09-25'
)AND (
f_edt >  '03:59:00'
)
ORDER BY  `flight`.`f_date` ,  `flight`.`f_eta` ,  `flight`.`f_flt`
เที่ยวภูเก็ต เที่ยวพังงา เที่ยวกระบี่

gubaaball

อ้างถึงจาก: marauder ใน 07 ตุลาคม 2013, 11:25:24
:wanwan017:  คือผมเขียน php ให้แสดงวันเวลาในช่องระหว่าง เช่น
   แสดงข้อมูลหว่างวันที่ 24-10-2013 เวลา 04:00.00 ถึง วันที่ 25-10-2013 เวลา 03:59.00 ครับ
โดยฐานข้อมูลของผม ดันนี้น่ะครับ

Date -> เก็บวันที่ เริ่มใช้
ETA -> เก็บเวลาที่จะเข้า
ETD -> เก็บเวลาที่จะออก

โดยในช่วงเวลาที่มีปัญหาจะเป็นช่วง 00:00.00 ถึง 03:58.00 ครับที่ข้อมูลจะไม่แสดง  มีวิธีแก้ยังไงได้บ้างครับ


SELECT * FROM  `flight`
WHERE (
f_date
BETWEEN  '2013-09-24'
AND  '2013-09-25'
)AND (
f_edt >  '03:59:00'
)
ORDER BY  `flight`.`f_date` ,  `flight`.`f_eta` ,  `flight`.`f_flt`


where( f_date = '2013-09-24' AND  f_edt >=  '04:00:00') OR (f_date = '2013-09-25' AND  f_edt <=  '03:59:00')

ลองดูน่ะครับ ผมเดาๆมาเหมือนกันไม่ได้ลอง 555+  :wanwan003:

marauder

#2
อ้างถึงจาก: gubaaball ใน 07 ตุลาคม 2013, 11:45:38
อ้างถึงจาก: marauder ใน 07 ตุลาคม 2013, 11:25:24
:wanwan017:  คือผมเขียน php ให้แสดงวันเวลาในช่องระหว่าง เช่น
   แสดงข้อมูลหว่างวันที่ 24-10-2013 เวลา 04:00.00 ถึง วันที่ 25-10-2013 เวลา 03:59.00 ครับ
โดยฐานข้อมูลของผม ดันนี้น่ะครับ

Date -> เก็บวันที่ เริ่มใช้
ETA -> เก็บเวลาที่จะเข้า
ETD -> เก็บเวลาที่จะออก

โดยในช่วงเวลาที่มีปัญหาจะเป็นช่วง 00:00.00 ถึง 03:58.00 ครับที่ข้อมูลจะไม่แสดง  มีวิธีแก้ยังไงได้บ้างครับ


SELECT * FROM  `flight`
WHERE (
f_date
BETWEEN  '2013-09-24'
AND  '2013-09-25'
)AND (
f_edt >  '03:59:00'
)
ORDER BY  `flight`.`f_date` ,  `flight`.`f_eta` ,  `flight`.`f_flt`


where( f_date = '2013-09-24' AND  f_edt >=  '04:00:00') OR (f_date = '2013-09-25' AND  f_edt <=  '03:59:00')

ลองดูน่ะครับ ผมเดาๆมาเหมือนกันไม่ได้ลอง 555+  :wanwan003:
ขอบคุณครับลองแก้จากที่พี่ให้มา ได้แล้วครับ

SELECT *
FROM  `flight`
WHERE (
(
`f_date` =  '2013-09-24'
)
AND (
`f_etd`
BETWEEN  '00:00:00'
AND  '23:59:00'
)
)
OR (
(
`f_date` =  '2013-09-25'
)
AND (
`f_etd`
BETWEEN  '00:00:00'
AND  '03:59:00'
)
)
เที่ยวภูเก็ต เที่ยวพังงา เที่ยวกระบี่