我正在尝试为数据库编写一个查询,该查询将把一个表连接到一个查找表,结果将根据 case 语句返回。
在普通 SQL 中,查询如下所示:
SELECT chis_id, chis_detail, cilt.mhcatID, cilt.mhtID, 'TheFileName' =
CASE
WHEN cilt.mhcatID IS NOT NULL AND cilt.mhtID IS NOT NULL THEN chis_linked_filename
END
FROM chis
LEFT JOIN cilt on cilt.mhcatID = chis.mhcat_id AND cilt.mhtID = chis.mht_id
WHERE cch_id = 50
chis
是被查询的表,cilt
是一个查找表,因此不包含与 chis 的任何外键关系(chis 分别具有 mhtID 和 mhcatID 到 mht 和 mhcat 表的现有 FK)。
该查询将用于返回记录的历史更新列表。如果连接到 cilt 查找表成功,这意味着查询的调用者将有权查看任何关联文件的文件名以进行历史更新。
虽然在我的研究过程中,我在这里找到了各种关于如何在 Linq 中进行案例陈述和左连接到实体查询的帖子,但我无法弄清楚如何在两个不同的字段上连接。这可能吗?