ผู้เขียน หัวข้อ: รบกวนเซียน sql แก้ปัญหานี้ให้หน่อยครับ เครียดมากๆเลย  (อ่าน 5056 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
ตามภาพเลยครับ รบกวนท่านผู้รู้เขียนคำสั่ง sql ให้หน่อยครับ งานเข้าจริงๆ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
อ๋อ ในตาราง รายละเอียดการจ่าย มี   รหัสสินค้า    ครับ ลืมใส่ไป คือความต้องการคือ พอคีย์รหัสสินค้าขึ้นมา แล้วก็ให้ แสดงประวัติการรับจ่าย และ รัน ยอดคงเหลือ ตามภาพที่ให้มาครับ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,129
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
โค๊ด: SQL
  1. SELECT temp.DATE, temp.no, temp.TYPE, temp.item_id, temp.qty FROM
  2. (SELECT DATE, in_number AS no, 'I' AS TYPE, item_id, qty
  3. FROM IN
  4. UNION
  5. SELECT DATE, in_number AS no, 'O' AS TYPE, item_id, qty
  6. FROM OUT o) AS temp
  7. WHERE temp.item_id=1
  8. ORDER BY temp.DATE, temp.no

ลองมั่วดูครับ  ;D ไม่รู้ว่าจะได้หรือเปล่า ผมเดาเอาไม่รู้ว่าจะถูกไหม ชื่อตาราง ชื่อ field ก็ไม่รู้ว่าจริง ๆ คืออะไร
« แก้ไขครั้งสุดท้าย: กันยายน 27, 2011, 06:51:56 AM โดย pop_hosxp »
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,129
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
ลองใหม่แบบนี้ได้ไหมครับ

   
โค๊ด: SQL
  1. SELECT temp.DATE, temp.no, temp.TYPE, temp.item_id, temp.qty FROM
  2.     (SELECT DATE, in_number AS no, 'I' AS IN, item_id, qty AS qty_in, 0 AS qty_out
  3.     FROM IN
  4.     UNION
  5.     SELECT DATE, in_number AS no, 'O' AS TYPE, item_id, 0 AS qty_in, qty AS qty_out
  6.     FROM OUT o) AS temp
  7.     WHERE temp.item_id=1
  8.     ORDER BY temp.DATE, temp.no
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
ยังเหลือ ยอดคงเหลือครับ ตามภาพที่แนบมาอยากให้ เมื่อมีการทำรายการ รับ หรือ จ่าย ก็ให้คำนวณ เป็นยอดคงเหลือ ด้วยครับ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,129
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
ผมว่าจริง ๆ แล้วต้องออกแบบให้มีตาราง stock_card ขึ้นมาอีกอันหนึ่งนะครับ ซึ่งเวลาไม่ว่าเรารับเข้า หรือจ่ายออก จะต้องมา update ที่ตาราง stock_card นี้ แต่ไม่ใช่เป็นการเก็บข้อมูลเฉพาะการจ่าย หรือการรับเข้า 2 ตารางเท่านั้นครับ

แล้วถ้าจะเอาแค่ 2 ตารางมาทำ query เป็น stock_card นี่ โอกาสที่จะรายงานผิดก็มีนะครับ มันไม่แน่เสมอไป เนื่องจาก มันทำให้เราไม่ทราบว่ารับเข้า หรือจ่ายออกจะเกิดก่อนกันครับ

ผมว่าออกแบบระบบ stock_card เพิ่มดีกว่า (ถ้ายังไม่ได้ทำ) จะได้ข้อมูลที่ชัวร์กว่าครับ เพิ่มอีกนิดเดียวครับ ไม่น่าจะไกลเกินเอื้อมครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
คือ ผมมีฟิลด์ types เป็นตัวเรียงลำดับให้อีกทีครับ ว่าเป็น รับ หรือ จ่าย คือ จะให้เรียง รับมา ก่อนจ่าย ก็น่าจะได้นะครับ ตามภาพที่แนบมา คือไม่อยากสร้างตารางเพิ่มครับ เพราะพอมีการแก้ไข ที่ตารางรับจ่าย ก็ต้องไล่ตามมาแก้ที่ตาราง stockcard อีกนะครับ รบกวนช่วยเขียน sql คำนวณจำนวนคงเหลือ เวลารับ จ่าย ให้ด้วยนะครับ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,129
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
คือ ผมมีฟิลด์ types เป็นตัวเรียงลำดับให้อีกทีครับ ว่าเป็น รับ หรือ จ่าย คือ จะให้เรียง รับมา ก่อนจ่าย ก็น่าจะได้นะครับ ตามภาพที่แนบมา คือไม่อยากสร้างตารางเพิ่มครับ เพราะพอมีการแก้ไข ที่ตารางรับจ่าย ก็ต้องไล่ตามมาแก้ที่ตาราง stockcard อีกนะครับ รบกวนช่วยเขียน sql คำนวณจำนวนคงเหลือ เวลารับ จ่าย ให้ด้วยนะครับ

ในการทำงานคลังจริง อาจมีการจ่ายก่อนรับได้นะครับ ไม่ได้รับก่อนจ่ายเสมอไป ผมจึงอยากให้ทำตาราง stock card เพิ่ม ทีนี้เวลาทำรายงาน stock card ก็ง่ายแล้วครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
ดันครับ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ Guitar-hero

  • Hero Member
  • *****
  • กระทู้: 605
  • Respect: 0
    • ดูรายละเอียด
    • โรงพยาบาลละแม,รพ.ละแม
ทำได้แล้วครับ ใช้ภาษา programming เข้าช่วย ขอบคุณทุกคำตอบนะครับ
จีระยุทธ ปิ่นสุวรรณ นักวิชาการคอมพิวเตอร์(พนักงานราชการ)
รพช.ละแม จ.ชุมพร
MASTER: HP Proliant Dl160 gen10
SLAVE: Dell PowerEdge T610 Quad core Intel 3.0G Ram 8GB Centos 5.9+Mysql 5.5

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,129
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
ยินดีด้วยครับ อย่าลืมเอามาแบ่งปันที่นี่ด้วยนะครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net