【发布时间】:2017-04-22 19:14:13
【问题描述】:
我有一个看起来有点像这样的数据集
Subject_ID Diagnosis_ID
001 299
001 288
001 233
001 299
002 299
002 233
003 238
004 299
004 233
我想创建一个新表,其中包含患有以下疾病的患者 诊断代码 299 和 233。
目前尝试的代码已经
Select *
From mytable
where diagnosis_id = 299 AND diagnosis_id=233
这没用 -
我也试过了
Select *
From mytable
where diagnosis_id = 299
INTERSECT
Select *
From mytable
where diagnosis_id= 233
这也没有奏效。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
-
有一件事你没有说清楚。您需要对至少一个患者进行 BOTH 诊断吗?
-
我认为您可能想要
OR而不是AND。按照同样的逻辑,您可能需要UNION而不是INTERSECT -
顺便说一句,在某些数据库中,您可以使用
INSERT INTO table_with_new_values(field1, field2) SELECT ...之类的语法直接执行 INSERT -
嗨,非常感谢您这么快回复我是的,我需要结果来显示同时存在两个诊断代码的患者 ID :)
标签: sql