我想我提出的问题没有提供太多的清晰度:SQL操纵连接值
我有一个临时表存储结果ext_results。然后我有一个CTE(myTrackingData)检索预测结果。两套都有一个与主题相关的FK ID。
我想加入这两个很容易,但我的问题是myTrackingData只预测“历史”,而ext_results有历史存储为单独的主题(因此单独的ID)。
当我加入这两个时,我想要做的就是操纵ext_results,以便intsubjectID主体像历史主体中的任何人一样只返回完全匹配历史主体的id。因此,我的ext_Results获得与预测表的匹配。
我认为这个语句将作为连接值使用select来获得匹配历史记录所有主题的ID,但也许我的THEN语句是错误的,所以我得到'子查询返回多个值错误'(也许我在WHEN声明中需要WHERE子句?):
SELECT (CASE WHEN (SELECT SubjectName FROM subjects) LIKE '%History%'
THEN (SELECT SubjectsID FROM Subjects)
ELSE intSubjectID
END)
请有任何建议。
请提供样本数据和期望的结果。目前尚不清楚你想要做什么。 –
Hi @GordonLinoff,我修改了OP。 – Imran