ขอถามคำสั่ง sql ในการ query ข้อมูลแบบนี้หน่อยครับ

ข้อมูลของผมโครงสร้างประมาณนี้(เป็น single table นะครับ ไม่ได้ทำ normalization)



โดยหลักๆคือจะมี CLIENT เก็บชื่อลูกค้า PRODUCT เก็บชื่อ product ที่ลูกค้าเจ้านั้นซื้อ

และก็ VALUE1 จนถึง VALUEn เก็บรายละเอียดต่างๆ (ในที่นี้ผมขอยกตัวอย่างมาแค่ 1-3 นะครับ)

โดยที่ ลุกค้า 1 เจ้าสามารถมีได้หลายๆ PRODUCT และในทางเดียวกัน PRODUCT ก็สามารถมีผู้ซื้อได้หลายเจ้าเหมือนกัน (Many to Many)


ทีนี้โจทย์ของผมคือ ผมต้องการ Verify ว่า ลูกค้า 2 เจ้าที่ใช้ Product ตัวนึง เช่น ลุกค้า A กับ ลูกค้า B ที่ใช้ Product AA นั้นมี VALUE ต่างๆเหมือนกันหรือไม่

โดยที่ผลลัพท์ที่ผมต้องการ ผมต้องการแค่เชคว่า เหมือนกัน หรือ ไม่เหมือนกัน (ทั้งจำนวน Row และ value ข้างใน)

ผมลองเขียนว่า
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

ผลลัพท์ก็ยังไม่ได้ตามที่ต้องการเท่าไหร่ เพราะบางทีลูกค้าต่างเจ้า ก็มีจำนวน Row ต่างกัน วิธีนี้มันทำให้รู้แค่จำนวน Row ที่เหมือนกัน แต่มันไม่สามารถทราบได้ว่ามี Row ที่ต่างหรือจำนวนไม่เท่ากันหรือไม่ (เช่น A มี 3 Row B มี 4 Row เราจะรู้ได้แค่ว่า สองเจ้านี้มี 3 Row ที่เหมือนกัน แต่ไม่รู้ว่า B มีอีก Row ที่ต่าง)

ปัจจุบันผมใช้วิธี SELECT ทีละ Client แล้วมาเทียบกันใน Excel แบบ Manual

เลยอยากทราบว่า มีวิธีเขียน query ที่สามารถเชคได้เลยหรือไม่

ปล. โครงสร้างมันอาจดูแปลกๆนะครับ แต่มันถูกออกแบบมาเป็นแบบนี้ด้วยเหตุผลบางประการ ซึ่งมันไม่ใช้หน้าที่ผมที่จะไป Redesign มัน
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่