从di_cirrhosis表中查出数据column6,column7,将这两列数据(不是一条,是很多条数据)作为条件,在edr_death表中查出数据(也是多条),条件就是di_cirrhosis表中的column6字段是edr_death表中的姓名patient_name,di_cirrhosis表中的column7字段是edr_death表中的身份证号id_card,姓名,身份证号必须同时满足条件, 最终返回多条 这个查询的sql怎么写
时间: 2024-03-05 15:50:44 浏览: 63
您可以使用以下SQL语句来实现您的需求:
```
SELECT *
FROM edr_death
WHERE (patient_name, id_card) IN
(SELECT column6, column7
FROM di_cirrhosis);
```
这个查询语句使用了一个子查询,首先从 `di_cirrhosis` 表中选择 `column6` 和 `column7` 这两列数据作为条件,然后在 `edr_death` 表中查找匹配的姓名和身份证号。使用 `IN` 关键字可以把多个条件作为一个整体来匹配,这样可以确保姓名和身份证号同时满足条件。最终,这个查询语句将返回符合条件的多条记录。
相关问题
select * from edr_death where patient_name="" and id_card =""; select column6,column7 from di_cirrhosis where batch="20230601" and column2="120105000"; 从di_cirrhosis表中查出数据,column6=patient_name column7=id_card 再从edr_death表中查出数据最终返回edr_death表中的数据,这两个sql做一个关联查询,如何实现
可以使用子查询来实现这个关联查询:
```
SELECT *
FROM edr_death
WHERE patient_name = (
SELECT column6
FROM di_cirrhosis
WHERE batch = "20230601" AND column2 = "120105000"
)
AND id_card = (
SELECT column7
FROM di_cirrhosis
WHERE batch = "20230601" AND column2 = "120105000"
);
```
这个查询首先在 `di_cirrhosis` 表中查找 `batch` 为 "20230601",`column2` 为 "120105000" 的数据,并获取其中的 `column6` 和 `column7` 字段的值。然后将这两个值作为条件,再在 `edr_death` 表中查找相应的记录,并返回结果。
map 结构下的 [ { "zoneCode": "120105000", "batch": "20230601", "type": "cirrhosis" }, { "zoneCode": "120105000", "batch": "20230601", "type": "cirrhosis" } ] 中括号下的花括号带上引号是什么,比如 [ "{ "zoneCode": "120105000", "batch": "20230601", "type": "cirrhosis" }", "{ "zoneCode": "120105000", "batch": "20230601", "type": "cirrhosis" }" ]
这是一个字符串数组,数组中的每个元素都是一个 JSON 格式的字符串。在这个例子中,每个 JSON 字符串都包含三个属性:zoneCode、batch 和 type。这种写法可能是为了方便将数据存储到某些数据存储系统中,因为某些系统可能不支持直接存储 JSON 对象,但支持存储字符串。在读取数据时,我们可以将这些字符串转换为 JSON 对象,然后再进行操作。
阅读全文