ปัญหาที่ฉันพบคือการทำงานกับ 3 ตารางลูกค้า การซื้อ และเวิร์กโฟลว์
CustomerID เป็นคีย์หลักสำหรับตารางลูกค้าและเป็น INT EG.. 123 ที่มีตัวเลข 3 หลัก
PurchaseID เป็นคีย์หลักสำหรับตารางการซื้อคือ INT 8 หลัก EG.. 12345678
เวิร์กโฟลว์เก็บรายละเอียดของเวิร์กโฟลว์ที่ผู้ใช้กำลังทำงานอยู่ในขณะนั้น ขึ้นอยู่กับงานอาจแตกต่างกันไป มันอาจจะมีลักษณะเช่นนี้
WFID EntityID Type Ref
771 123 Customer 1
772 12345678 Purchase 2
773 124 Customer 1
774 125 Customer 1
775 12345679 Purchase 2
คีย์หลักสำหรับ 2 ตารางนี้ผสมอยู่ในคอลัมน์รหัสเอนทิตีเดียว และนี่ทำให้ฉันเข้าร่วมได้ยากมาก ฉันจัดการเพื่อเข้าร่วมในคำสั่งเคสหลังจาก (ON Workflow.EntityID =) ซึ่งมีลักษณะเช่นนี้
ON Workflow.EntityID =)
Case when ref = 1 THEN customer.customerID
When ref = 2 THEN purchase.purchaseID
END
แต่ข้อความค้นหาที่ฉันใช้อยู่นั้นช้ามากและไม่ตอบสนองจนไม่ใช่วิธีแก้ปัญหาจริงๆ
มีใครเคยมีประสบการณ์อื่นใดกับการรวมประเภทนี้โดยที่คอลัมน์รวมคีย์หลัก 2 อันจากตารางที่แยกกันหรือไม่
ฉันพลาดบางสิ่งบางอย่างที่ชัดเจนไปหรือเปล่า?