ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

หน้า: 1 [2]  ทั้งหมด   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: SQL เชคเวลา  (อ่าน 5095 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
normalblue
คนรักเสียว
*

พลังน้ำใจ: 31
ออฟไลน์ ออฟไลน์

กระทู้: 145



ดูรายละเอียด
« ตอบ #20 เมื่อ: 22 พฤษภาคม 2013, 19:07:44 »

โจทย์เขาต้องการหาห้องว่างในช่วงเวลาดังกล่าว มันไม่มีตัวบ่งชี้ว่าอะไรที่บอกว่าห้องนั้นว่าง นอกจากเวลา check out  ครับ
(ถ้า checkin วันที่ 1 แล้ว checkout วันที่ 5 ก็ไม่อยู่ในเงื่อนไขครับ แสดงว่าห้องนั้นไม่ว่าง
ถ้ามี checkin แต่ checkout เป็น null ก็แสดงว่าห้องนั้นจองอยู่ หรือเป็น null ทั้งคู่ห้องนั้นก็คือห้องว่าง แต่มันอยู่ช่วงเวลาไหน)
เงื่อนไขที่เราสนใจคือ checkout ที่อยู่ระหว่างวันที่ 2-4  ให้แสดง room นั้นออกมา(อาจจะมี room ที่ยังไม่ว่างเสียทีเดียว เนื่องจากช่วงเวลาทาบเกี่ยวกันอยู่)
มันอาจจะไม่ตรงกับความต้องการเท่าไร แต่ถ้าโครงสร้างของ table มีฟิลด์ประมาณนี้คงต้องใช้วิธีนี้ละครับ   Tongue

มันจะไม่มีประโยชน์เลยสำหรับข้อมูลชุดอื่นครับ... เวลาเราเขียน SQL Command ต้องพึงนึกถึงคำว่า Robust ไว้จนชินครับ เพราะหากมัน Robust แล้ว มัน Reusable ด้วย
ใช้ได้กับทุก Possibility ของข้อมูล

ถ้าหากคุณคิดว่า Constraint ของคุณกำหนดด้วย PHP ได้ไม่ขาดตกบกพร่อง ไม่ได้ปล่อยค่าว่างเข้ามา Search ใช้ของคุณ MapTwoZa ด้านบนครับ
ถ้าหากคุณคิดจะป้องกันตั้งแต่ PHP มา Database ก็เสริมอีกชั้น ก็กำหนดให้ครอบคลุมอีกรอบดักจับหากค่าใดค่าหนึ่งว่าง ใช้ของผมข้างบนครับ

ผมไม่เชื่อว่านอกจากตาราง Booking/Reservation แล้ว จะไม่มีตาราง Room หากไม่มีจริงๆ ก็เพิ่มเถอะครับ หากไม่อยากปวดหัวในอนาคต

สุดท้าย ต้องบอกว่าการออกแบบระบบจอง ค่อนข้างง่าย เมื่อเที่ยบกับ Logic ในแขนงอื่นๆ ครับ เช่น SCM, CRM เป็นต้น ออกแบบมาดี ตอนเทสก็ไม่ลำบากมาก ทำไปเรื่อยๆ เดี๋ยวมันก็ชินเองครับ
บันทึกการเข้า
seowizard
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 102
ออฟไลน์ ออฟไลน์

กระทู้: 1,119



ดูรายละเอียด เว็บไซต์
« ตอบ #21 เมื่อ: 22 พฤษภาคม 2013, 19:35:57 »

โจทย์เขาต้องการหาห้องว่างในช่วงเวลาดังกล่าว มันไม่มีตัวบ่งชี้ว่าอะไรที่บอกว่าห้องนั้นว่าง นอกจากเวลา check out  ครับ
(ถ้า checkin วันที่ 1 แล้ว checkout วันที่ 5 ก็ไม่อยู่ในเงื่อนไขครับ แสดงว่าห้องนั้นไม่ว่าง
ถ้ามี checkin แต่ checkout เป็น null ก็แสดงว่าห้องนั้นจองอยู่ หรือเป็น null ทั้งคู่ห้องนั้นก็คือห้องว่าง แต่มันอยู่ช่วงเวลาไหน)
เงื่อนไขที่เราสนใจคือ checkout ที่อยู่ระหว่างวันที่ 2-4  ให้แสดง room นั้นออกมา(อาจจะมี room ที่ยังไม่ว่างเสียทีเดียว เนื่องจากช่วงเวลาทาบเกี่ยวกันอยู่)
มันอาจจะไม่ตรงกับความต้องการเท่าไร แต่ถ้าโครงสร้างของ table มีฟิลด์ประมาณนี้คงต้องใช้วิธีนี้ละครับ   Tongue

มันจะไม่มีประโยชน์เลยสำหรับข้อมูลชุดอื่นครับ... เวลาเราเขียน SQL Command ต้องพึงนึกถึงคำว่า Robust ไว้จนชินครับ เพราะหากมัน Robust แล้ว มัน Reusable ด้วย
ใช้ได้กับทุก Possibility ของข้อมูล

ถ้าหากคุณคิดว่า Constraint ของคุณกำหนดด้วย PHP ได้ไม่ขาดตกบกพร่อง ไม่ได้ปล่อยค่าว่างเข้ามา Search ใช้ของคุณ MapTwoZa ด้านบนครับ
ถ้าหากคุณคิดจะป้องกันตั้งแต่ PHP มา Database ก็เสริมอีกชั้น ก็กำหนดให้ครอบคลุมอีกรอบดักจับหากค่าใดค่าหนึ่งว่าง ใช้ของผมข้างบนครับ

ผมไม่เชื่อว่านอกจากตาราง Booking/Reservation แล้ว จะไม่มีตาราง Room หากไม่มีจริงๆ ก็เพิ่มเถอะครับ หากไม่อยากปวดหัวในอนาคต

สุดท้าย ต้องบอกว่าการออกแบบระบบจอง ค่อนข้างง่าย เมื่อเที่ยบกับ Logic ในแขนงอื่นๆ ครับ เช่น SCM, CRM เป็นต้น ออกแบบมาดี ตอนเทสก็ไม่ลำบากมาก ทำไปเรื่อยๆ เดี๋ยวมันก็ชินเองครับ

ครับ  ผมวิเคราะห์แบบบ้าน ๆ อย่าถือสาเลย อิอิ  wanwan012
บันทึกการเข้า
normalblue
คนรักเสียว
*

พลังน้ำใจ: 31
ออฟไลน์ ออฟไลน์

กระทู้: 145



ดูรายละเอียด
« ตอบ #22 เมื่อ: 22 พฤษภาคม 2013, 23:04:34 »

ครับ  ผมวิเคราะห์แบบบ้าน ๆ อย่าถือสาเลย อิอิ  wanwan012

ครับ ช่วยๆ กันตอบ Braistorm กัน ความคิดเห็นจะได้หลากหลาย คนฟังจะได้ดูมีทางเลือก บ้านก็อบอุ่นครับ  wanwan019
บันทึกการเข้า
p44n
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 105
ออฟไลน์ ออฟไลน์

กระทู้: 676



ดูรายละเอียด
« ตอบ #23 เมื่อ: 23 พฤษภาคม 2013, 01:22:38 »

พวกท่านทำไมคิดกัน ให้ยุ่งยากขนาดนั้นคับ ไม่ปวดหัวเหรอ  wanwan044
บันทึกการเข้า

Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native
หน้า: 1 [2]  ทั้งหมด   ขึ้นบน
พิมพ์