Link table ครับ

กระทู้นี้ประกอบด้วย 7 ข้อความตอบกลับ มี 2 เสียง และอัปเดตครั้งสุดท้ายโดย  Peerapach Srinugul 3 ปี, 3 เดือน มาแล้ว

กำลังดู 8 ข้อความ - 1 ผ่านทาง 8 (ของทั้งหมด 8)
  • ผู้เขียน
    ข้อความ
  • #574

    Peerapach Srinugul
    Participant

    แอดมินครับ จากกระทู้นี้ http://www.ugetproject.com/wp/forums/topic/%E0%B8%82%E0%B8%AD%E0%B8%84%E0%B8%B3%E0%B8%9B%E0%B8%A3%E0%B8%B6%E0%B8%81%E0%B8%A9%E0%B8%B2-%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%A3%E0%B8%A7%E0%B8%A1%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5

    คือเกิดปัญหา ในตาราง ตัวเก็บรายละเอียด การ รับ-เบิกจ่ายวัสดุ มันจะมี Transaction ID ที่เป็น PK ของตาราง

    ซึ่ง Database ที่จะเอามารวม แต่ละก้อน มันก้จะมี ID ซึ่ง พอเอามารวมกัน มันจะมีค่าซ้ำกัน (เพราะแต่ละ store ก็ทำรายการของตัวเองไป แต่ที่มันจะซ้ำกัน คือ ID อ่ะครับ เข้าใจรึเปล่าครับ)
    ทำให้ Query ข้อมูล ตามที่ต้องการไม่ได้ครับ

    รบกวนแอดมินช่วยทีครับ

    #576
    admin
    admin
    Keymaster

    น่าจะเข้าใจผิดครับ ที่ผมแนะนำไปไม่ได้เอา database มารวมกันครับที่ตารางเดียวนะครับ ผมแนะนำให้ลิงค์ ตารางจากแต่ละก้อนมาไว้ที่ database เดียวกันครับ

    ชื่อตารางที่ลิงค์มา จากแต่ละ database พอลิงค์มา จะต้องแก้ชื่อใหม่นะครับเช่น database1 ตารางชื่อ stock, database2 ตารางชื่อ stock เหมือนกัน แต่พอเราสร้าง database ใหม่อีกก้อน โดยลิงค์ตารางจาก database1,database2 เราอาจจะเปลี่ยนชื่อตารางที่ลิงค์แล้วเป็น stock_db1,stock_db2 แบบนี้ครับ

    จะทำให้ก้อน database ใหม่ที่เราจะใช้รวมข้อมูลจากหลาย database ทำงานได้

    จากนั้น ค่อยเขียน query union จากตารางที่ลิงค์มาแล้วตัวอย่างเช่น
    select * from stock_db1 union all select * from stock_db2

    แบบนี้เราก็จะได้ query ที่รวมข้อมูลเรียบร้อยแล้วครับ เซพเป็น query ไว้ ต่อไปก็เอาไปใช้งานได้ตามใจชอบครับ

    จากแนวที่ผมแนะนำนี้ ไม่อะไรที่ติดขัดกับกฎ primary key เลยครับ ลองดูครับ^^

    #577

    Peerapach Srinugul
    Participant

    ใช่ครับ ผมก็ทำแบบที่แอดมินว่าแหละครับ พอเราเอามา union กัน พอตารางมันต่อกัน

    มันจะมี id ที่ซ้ำกัน เช่น
    จาก store A
    Transaction id / ผู้เบิก / ชื่อวัสดุ / จำนวน
    0001 / qqqqq / ttttt / 50
    0002 / wwwww / eeeee /1000

    จาก store B
    Transaction id / ผู้เบิก / ชื่อวัสดุ / จำนวน
    0001 / aaaaa / zzzzz / 70
    0002 / sssss / yyyy / 30

    ถ้าเอาไป เรียงต่อกัน มันจะ ซ้ำกัน เวลาผมเอาไปสร้าง คิวรี่ต่อ มันจะมีปัญหา
    ซึ่งปกติแล้ว ตารางที่เอาไปคิวรี่ สร้างรายงานของผม
    Transactoin id มันจะไม่ซ้ำ คือจะเรียงลำดับไป 1,2,3,4,5,6 ครับ
    ที่นี่พอมาเจอแบบ 1,1,2,2 ไปต่อไม่ถูกครับ

    รบกวนแอดมิน ด้วยนะครับ

    #578
    admin
    admin
    Keymaster

    ขอดูตัวอย่างหน่อยได้ไหมครับ ว่า query ที่ union แล้ว ผลออกมาอย่างไร
    แล้วที่จะเอาไปใช้งานต่อ อยากได้รูปแบบการแสดงผลแบบไหนครับ ผมนึกภาพไม่ออกอ่าครับ

    #579

    Peerapach Srinugul
    Participant

    ส่ง ไฟล์ ไปที่อีเมล์แล้วนะครับ

    เมลล์ผม peerapach.s@gmail.com

    ส่งไปที่ kitisak_arm@hotmail.com

    #580

    Peerapach Srinugul
    Participant

    ผมต้องการ รวม ทั้ง Master และ Transaction sub เข้าด้วยกัน โดย
    master กับ trans sub สัมพันแบบ 1:many

    พอเอามารวมกัน มันมี id ซ้ำกัน แบบ ในตัวอย่าง

    #581
    admin
    admin
    Keymaster

    ดูจาไฟล์ละครับ ไล่โค๊ตไม่ไหว เขียนไปเยอะแล้วอ่ะครับ เอาเป็นว่าเขียนเป็นผังอธิบายให้ดูหน่อยได้ไหมครับว่าติดตรงไหนต้องการแบบไหน จะง่ายกว่าครับ เพราะจากที่อธิบายผมมา ผมยังงงอยู่เลยครับ ว่า master คืออะไร Transaction sub คืออะไร อธิบายแบบยกตัวอย่างได้ไหมครับ ไล่โค๊ตไม่ไหวครับ 555+

    #582

    Peerapach Srinugul
    Participant

    คิดคำมาอธิบายไม่ถูก 555 ขอเวลา เรียบเรียงคำถามใหม่ ก่อนครับ เดี๋ยวมารบกวนอีกที

กำลังดู 8 ข้อความ - 1 ผ่านทาง 8 (ของทั้งหมด 8)

คุณต้องเข้าสู่ระบบเพื่อตอบกลับกระทู้นี้