Мне нужно присоединить один столбец идентификатора к одной из двух разных таблиц.Я знаю, какой из них использовать, основываясь на столбце с именем reqIdType, который сообщает мне, какой тип идентификатора содержит столбец reqID.Вот что я делаю:
SELECT e.*,
reqfirstName =
CASE e.reqIDtype
WHEN 'N' THEN
u1.firstName
ELSE c1.firstName
END,
reqLastName =
CASE e.reqIDtype
WHEN 'N' THEN
u1.lastName
ELSE c1.lastName
END
repeat with email, etc.
FROM ers e
LEFT JOIN contacts c1 ON c.contactID = e.reqID
LEFT JOIN users u1 ON u1.uid = reqID
Мне интересно, есть ли лучший способ сделать это?Каким-то образом, где я мог проверить поле reqIDType, а затем выбрать все мои поля, иначе выбрать все остальные мои поля?То, как я делаю это сейчас, - это много грязного SQL.