รวมตาราง


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

31 ส.ค. 61 , 08:03:37
อ่าน 2344 ครั้ง

แดนชัย

รวมตาราง
« เมื่อ: 31 ส.ค. 61 , 08:03:37 »
เรียน อาจารย์ทุกท่านครับ
       ผมรับผิดชอบงาน 32 หน่วย (อำเภอ) สร้างฐานข้อมูล 32 ตาราง แต่ละตารางมี่ฟิลเหมือนกัน ผมต้องการรวมฐานข้อมูล 32 ตาราง เป็น 1 ตาราง(งานจังหวัด) โดยสามารถตอบโต้กันระหว่าง 32 กับ 1 ตาราง โดยการ แก้ไข เพิ่ม ลบ เป็นการ update ตลอด
      1.ผมใช้ my sql connector odbc 
      2.ผมจะเขียนคำสั่งเพื่อรวมตารางอย่างไร
      3.ถ้ามีวิธีอื่น ๆ หรือโปรแกรมช่วยงาน กรุณาให้คำแนะนำด้วยนะครับ

 

31 ส.ค. 61 , 16:27:02
ตอบกลับ #1

สันติสุข

: รวมตาราง
« ตอบกลับ #1 เมื่อ: 31 ส.ค. 61 , 16:27:02 »
ไม่เคยทำระบบที่ต้องสร้างข้อมูลซ้ำกันแบบนี้ ดีที่สุดคือไม่สร้างซ้ำ แต่ถ้าจำเป็นต้องสร้างซ้ำแล้ว โดยหลักการของ DBMS แล้ว น่าจะเป็นเรื่องของ Trigger http://www.mysqltutorial.org/mysql-triggers.aspx ที่จะทำงานเมื่อเกิดการเปลี่ยนแปลงข้อมูลในเทเบิล ก็ต้องเขียนโค้ดใน Trigger ใน MySQL สำหรับทุกเทเบิล ให้ไปปรับปรุงข้อมูลในเทเบิลที่เกี่ยวข้องให้ถูกต้องตรงกัน

อีกอย่างที่ต้องคำนึงถึงคือเรื่องของ Transaction Control คือ DBMS จะปรับปรุงข้อมูลทั้งเทเบิลตัวเองและที่เกี่ยวข้องได้สำเร็จ ก็ต้องทำได้สำเร็จทั้งคู่ (Commit Transaction) ถ้าเทเบิลใดเทเบิลหนึ่งปรับปรุงไม่สำเร็จ ก็ต้องยกเลิกได้ทั้งคู่โดยอัตโนมัติ  (Rollback Transaction)  ไม่งั้นข้อมูลก็จะไม่เหมือนกัน ตรงนี้ผมไม่รู้ว่า MySQL สนับสนุนให้ทำได้พร้อม Trigger ด้วยหรือไม่ และถ้าทำได้ ถ้าเกิดกรณี Rollback Transaction แล้ว  จะมี runtime error อะไรส่งกลับมาบอก Access ด้วยหรือไม่ ตรงนี้ก็ต้องทดลองด้วยนะครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

31 ส.ค. 61 , 20:21:15
ตอบกลับ #2

แดนชัย

: รวมตาราง
« ตอบกลับ #2 เมื่อ: 31 ส.ค. 61 , 20:21:15 »
ขอบคุณมากครับ ที่ช่วยชี้ทาง

 

02 ก.ย. 61 , 06:45:07
ตอบกลับ #3

แดนชัย

: รวมตาราง
« ตอบกลับ #3 เมื่อ: 02 ก.ย. 61 , 06:45:07 »
เรียนถามต่อครับ....ถ้าใช้ query รวมได้หรือไม่ ผมทดลองรวมแล้วได้ 2 ตาราง พอเพิ่มอีกตารางแจ้ง error

SELECT [รหัสประจำตัว], [เลขประจำตัวประชาชน], [ชื่อ], [นามสกุล], [เหตุจำหน่าย]
FROM [sadsadee_3001]
UNION ALL
SELECT [รหัสประจำตัว], [เลขประจำตัวประชาชน], [ชื่อ], [นามสกุล], [เหตุจำหน่าย]
FROM [sadsadee_3006];

 

02 ก.ย. 61 , 07:33:01
ตอบกลับ #4

nonc31

: รวมตาราง
« ตอบกลับ #4 เมื่อ: 02 ก.ย. 61 , 07:33:01 »
UNION น่าจะใช้แบบนี้นะครับ

SELECT [user1].user1
FROM [user1]
UNION SELECT [user2].user2
FROM [user2]
UNION SELECT [user3].user3
FROM [user3]
UNION SELECT [user4].user4
FROM [user4]
UNION SELECT [user5].user5
FROM [user5]
UNION SELECT [user1_not].user1
FROM [user1_not];

 

02 ก.ย. 61 , 08:33:01
ตอบกลับ #5

แดนชัย

: รวมตาราง
« ตอบกลับ #5 เมื่อ: 02 ก.ย. 61 , 08:33:01 »
เหมือนเดิม....ไม่ได้    ได้แค่ 2 ตาราง

 

02 ก.ย. 61 , 09:28:09
ตอบกลับ #6

nonc31

: รวมตาราง
« ตอบกลับ #6 เมื่อ: 02 ก.ย. 61 , 09:28:09 »
สงสัยจะได้ขอ ตัวอย่าง  2013  :shout: :shout: :shout:

 

02 ก.ย. 61 , 09:50:03
ตอบกลับ #7

OddyWriter

: รวมตาราง
« ตอบกลับ #7 เมื่อ: 02 ก.ย. 61 , 09:50:03 »
น่าจะมีปัญหาอย่างอื่นมากกว่าครับ ลองใช้

SELECT * FROM ชื่อตาราง1
UNION ALL
SELECT * FROM ชื่อตาราง2
UNION ALL
SELECT * FROM ชื่อตาราง3;

เพิ่มทีละตารางดู จะได้รู้ว่าปัญหาอยู่ที่ตารางไหน
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 

03 ก.ย. 61 , 20:08:23
ตอบกลับ #8

แดนชัย

: รวมตาราง
« ตอบกลับ #8 เมื่อ: 03 ก.ย. 61 , 20:08:23 »
มันเกี่ยวกับ connector odbc ไหมครับ

 

04 ก.ย. 61 , 13:33:05
ตอบกลับ #9

สันติสุข

: รวมตาราง
« ตอบกลับ #9 เมื่อ: 04 ก.ย. 61 , 13:33:05 »
เรียนถามต่อครับ....ถ้าใช้ query รวมได้หรือไม่ ผมทดลองรวมแล้วได้ 2 ตาราง พอเพิ่มอีกตารางแจ้ง error

SELECT [รหัสประจำตัว], [เลขประจำตัวประชาชน], [ชื่อ], [นามสกุล], [เหตุจำหน่าย]
FROM [sadsadee_3001]
UNION ALL
SELECT [รหัสประจำตัว], [เลขประจำตัวประชาชน], [ชื่อ], [นามสกุล], [เหตุจำหน่าย]
FROM [sadsadee_3006];

Error ว่า ?
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

05 ก.ย. 61 , 06:54:00
ตอบกลับ #10

แดนชัย

: รวมตาราง
« ตอบกลับ #10 เมื่อ: 05 ก.ย. 61 , 06:54:00 »
ทดลองรวมตารางของ ACCESS รวมได้ครับ....แต่ฐานข้อมูล mysql connector odbc รวมได้เพียง 2 ตารางเท่านั้น ขอให้ท่านอาจารย์ได้ชี้แนะด้วยนะครับ

 

05 ก.ย. 61 , 09:29:29
ตอบกลับ #11

สันติสุข

: รวมตาราง
« ตอบกลับ #11 เมื่อ: 05 ก.ย. 61 , 09:29:29 »
หมายถึง Error รหัสอะไร มีข้อความว่าอย่างไร
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

05 ก.ย. 61 , 14:56:27
ตอบกลับ #12

แดนชัย

: รวมตาราง
« ตอบกลับ #12 เมื่อ: 05 ก.ย. 61 , 14:56:27 »
odbc--การเรียกล้มเหลว
 [MYSQL][odbc 8.0(w)Drive][Mysql-5.5.5-10.1.35-MariaDB have adn Error in your SQL syntax check the manual that corrsponds to your MariaDB servsr version for the right syntax.........At  line 1(#1064)

 

05 ก.ย. 61 , 15:18:54
ตอบกลับ #13

สันติสุข

: รวมตาราง
« ตอบกลับ #13 เมื่อ: 05 ก.ย. 61 , 15:18:54 »
มันบอกว่าคำสั่ง SQL มีอะไรผิดไวยกรณ์ น่าจะเป็นตั้งแต่ SELECT ตัวที่ 3 เป็นต้นไป ตอนนี้ผมกำลังทำงานใน Partition ที่ใช้ Access รุ่นเก่า จะเปิด .accdb ไม่ได้ครับ ช่วยก๊อปปี้คำสั่ง SQL ทุกตัวอักษรเอามาแสดงให้ดูหน่อยครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

05 ก.ย. 61 , 18:35:26
ตอบกลับ #14

แดนชัย

: รวมตาราง
« ตอบกลับ #14 เมื่อ: 05 ก.ย. 61 , 18:35:26 »
select ชื่อ  from sadsadee_3006
UNION ALL
select  ชื่อ  from sadsadee_3007
UNION ALL
select  ชื่อ  from sadsadee_3008
UNION ALL
select  ชื่อ  from sadsadee_3009;

 

05 ก.ย. 61 , 20:36:22
ตอบกลับ #15

แดนชัย

: รวมตาราง
« ตอบกลับ #15 เมื่อ: 05 ก.ย. 61 , 20:36:22 »
  ผมกำลังศึกษาและหาวิธีในการจัดการฐานข้อมูล ที่จะนำมาใช้กับ Access
 1.ศึกษาการสร้างคิวรีรวมตางราง ที่ connector odbc
 2.ศึกษา Event  Navicat และ Phpmyadmin
 3 ศึกษา trigger Phpmyadmin
ท่านใดมีวธีการ หรือตัวอย่าง กรุณาให้ความรู้  sadsadeekabchoeng@hotmai.com ขอบพระคุณนะครับ

 

05 ก.ย. 61 , 21:03:13
ตอบกลับ #16

สันติสุข

: รวมตาราง
« ตอบกลับ #16 เมื่อ: 05 ก.ย. 61 , 21:03:13 »
หลังจากมึนและค้นหาอยู่นาน พบว่าการ UNION ตั้งแต่ 3 เทเบิลขึ้นไปเป็น bug ของ MySQL ODBC ตั้งแต่ปี 2005 และตามที่ฝรั่งบอก ปัญหานี้ยังไม่ได้รับการแก้ไข bugs.mysql.com/bug.php?id=7684 ลองหา MySQL ODBC ตัวใหม่ล่าสุดที่ใช้กับเวอร์ชั่น MySQL ของคุณได้ ถ้าโชคดีอาจปัญหานี้ไปได้ ยังไงก็ตามมีการแนะนำวิธีแก้ปัญหาเฉพาะหน้าเอาไว้ในโพสสุดท้ายใน stackoverflow.com/questions/12804495/multiple-union-query-doesnt-work/15004004 โดยบอกว่าให้ใส่ ( ) ครอบแต่ละ select statement เอาไว้เพื่อที่ MySQL ODBC จะได้ตีความให้เป็นการทำทีละคู่แทน
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

08 ก.ย. 61 , 06:08:36
ตอบกลับ #17

แดนชัย

: รวมตาราง
« ตอบกลับ #17 เมื่อ: 08 ก.ย. 61 , 06:08:36 »
ขอบคุณมากครับที่ช่วยชี้แนะและช่วยหาวิธีในการแก้ไขปัญหา

 


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5