สอบถามเกี่ยวกับการ select ข้อมูล แบบหลายๆตาราง โดยให้ข้อมูลแสดงข้อมูลเท่ากับตารางหลัก
Code (SQL)
SELECT *
FROM
(
SELECT a.Column, b.Column, c.Column, ROW_NUMBER() OVER
(PARTITION BY a.Key ORDER BY a.Key
) AS JIM
FROM Table1 AS a
INNER JOIN
Table2 AS b
ON a.Key = b.Key AND
a.Key = 'มีข้อมูลอยู่ 3 แถว'
INNER JOIN
Table3 AS c
ON b.Key = c.Key
) AS TMP
WHERE JIM = 1
ปล. Join 3 ตาราง แต่จะเอาตารางที่ 100, 101, ... มาใส่มันก็ย่อมได้ (โดยใช้ CTE)
CTE ย่อมาจาก Common Table Expression
Date :
2016-01-16 21:58:52
By :
หน้าฮี
จาก #NO 1 เผื่อมองภาพไม่ออกก็ให้นึกถึง สมมุติ
ตาราง1 = ข้อมูลจังหวัด
ตาราง2 = ข้อมูลอำเภอ
ตาราง3 = ข้อมูลตำบล
Key == รหัสจังหวัด/รหัสอำเภอ/รหัสตำบล นั่นแล
ปล. คนเราถนัดมือซ้าย แต่ตอนชักว่าวเราอาจจะใช้มือขวา ผลลับมันก็ขึ้นฟ้าขึ้นสวรรค์ได้เหมือนกัน
Date :
2016-01-16 22:16:52
By :
หน้าฮี
ขอบคุณมากครับ
ผมมองภาพออกเลยครับ
555+
Date :
2016-01-17 13:09:22
By :
kimhuncodec
@kim... จาก #NO3
"ขอบคุณมากครับ"
ผมงงกับคำนี้ และ ผมใช้คำขอบคุณของคุณผ่านคำอธิบาย ในเชิงตรรกะ (ขั้นต่ำ/ขั้นกลาง/ชั้นสูง)
คนแก่มันก็เหมือนเด็กนั่นแหละ
คำว่าเด็ก === อายุ >=01 ถึง 12 ปี แต่ก็ยังเป็นเด็กและใช้คำสรรพนามว่า ดช./ดญ
...
...
...
สรุปแบบดื้อดื้อฯฯฯ ถึงเด็กมันจะดื้อ/มันซุกซนแค่ไหน มันก็น่ารัก
...
...
...
คำว่าคนแก่ === อายุ 60 (หย่อนฯ) จนถึง จนกว่าจะตาย มันก็ยังเป็นเด็กและใช้คำ อดีตสรรพนามว่า ... หัวโขน/ชีวิตจริง ยิ่งกว่าละคร
ยิ่งแก่ยิ่งดื้อ ยิ่งแก่ยิ่งรั้น
ไม่รู้จะเปรียบเปรยอย่างไร? ลองใช้คำว่า "ยุคโจรครองเมือง 2557(8)-2559-xxxx" มันก็ไม่คลอบคลุมทุกฯกรณี
ปล. อายุไม่ทันกันแต่ความคิดทันกัน มันก็ไม่สูญเปล่า
Date :
2016-01-17 20:00:34
By :
หน้าฮี
จาก #NO4 ดูเหมือนนอกลู่นอกทาง (คนไร้ปัญญามักจะคิดแบบนี้เสมอ)
--- เออเออฯ ตามน้ำไปตามโลกสมมุติ
วกกลับมา #NO1 (ค้นไร้ที่พึ่ง/คนจนตรอกมักจะคิดแบบนี้เสมอ)
--- กลับมาสู่โลกของความเป็นจริง ตามความต้องการของคุณ
อันนี้อยู่ที่สติปัญญาของตัวคุณเองว่าจะมองเห็นหรือไม่?
ต้นทาง คำสั่งของ SQL Query ไม่ผิดแน่นอน
ปลายทาง --> ผลลัพธ์ของ SQL Query ไม่ตรงตามที่ต้องการ
แล้วอะไรล่ะที่ทำให้เป็นแบบนั้น (ก็เดาฯเอาตามประสบการณ์ที่มีอยู่)
-- ข้อมูลอาจจะผิด อทิเช่น มีข้อมูลจังหวัด แต่
--- ไม่มีข้อมูลอำเภอ
---- INNER JOIN ---> LEFT JOIN (ถนัดมือขวาแต่ชักว่าวด้วยมือซ้าย)
---- INNER JOIN ---> ROIN JOIN (ถนัดมือซ้ายแต่ชักว่าวด้วยมือขวา)
...
...
...
ไม่มีข้อมูลอะไรเลย อทิเช่น 1 = ชาย, 2 = หญิง แต่มี Blank/Null ปนมาด้วย
--- มือข้างซ้ายสูบบุหรี่ มือข้างขวายกแก้วเบียร์ แต่มีหนึ่งมือ ของใครหว่ามาชักว่าวให้
--- มือข้างซ้ายสูบบุหรี่ มือข้างขวายกแก้วเบียร์ แต่มีสองมือ ของใครหว่ามาชักว่าวให้
...
...
...
ปล. บ่นเล่าไปเรื่อยเปื่อย ตามประสาคนเหงาปัญญา
Date :
2016-01-17 20:28:23
By :
หน้าฮี
Load balance : Server 03