我有一个表中的类别代码列在另一个表中,有8个类别代码,目前我在做以下(下面是大量简化):加入到另一个具有多个外键的表到另一个表
SELECT HeaderCode
, C1.CategoryName AS C1
, C2.CategoryName AS C2
, C3.CategoryName AS C3
, C4.CategoryName AS C4
, C5.CategoryName AS C5
, C6.CategoryName AS C6
, C7.CategoryName AS C7
, C8.CategoryName AS C8
FROM Header H
INNER JOIN Cats C1 ON H.Cat1 = C1.CategoryID
INNER JOIN Cats C2 ON H.Cat2 = C2.CategoryID
INNER JOIN Cats C3 ON H.Cat3 = C3.CategoryID
INNER JOIN Cats C4 ON H.Cat4 = C4.CategoryID
INNER JOIN Cats C5 ON H.Cat5 = C5.CategoryID
INNER JOIN Cats C6 ON H.Cat6 = C6.CategoryID
INNER JOIN Cats C7 ON H.Cat7 = C7.CategoryID
INNER JOIN Cats C8 ON H.Cat8 = C8.CategoryID
我没想到一个函数来获取数据,但因为有200,000条记录,我需要得到这个信息,这将是缓慢的。
性能是迄今为止不错,但有次我不得不使用动态SQL,并与另一这样5+加入是一个很大的混乱。
是否有更好/更方便/更容易维护的方式来做到这一点? (!)