用sql语句查询和'32091119700523***5'有过同一天登记住宿的人员,显示姓名和身份证号。
时间: 2023-07-24 14:07:43 浏览: 93
SQL 语句与SQL*Plus 命令
假设有一个名为 `accommodation` 的表,包含以下字段:`name`(姓名)、`id_number`(身份证号)、`check_in_date`(入住日期)。
可以使用以下 SQL 语句查询和'32091119700523***5'有过同一天登记住宿的人员,显示姓名和身份证号:
```
SELECT name, id_number
FROM accommodation
WHERE DATE(check_in_date) = DATE((SELECT check_in_date FROM accommodation WHERE id_number = '32091119700523***5'))
AND id_number != '32091119700523***5';
```
解释:
1. `SELECT name, id_number`: 查询姓名和身份证号。
2. `FROM accommodation`: 从 `accommodation` 表中查询。
3. `WHERE DATE(check_in_date) = DATE((SELECT check_in_date FROM accommodation WHERE id_number = '32091119700523***5'))`: 使用子查询查找和指定身份证号在同一天入住的人员。`DATE(check_in_date)` 将日期转换为日期格式,以便进行比较。
4. `AND id_number != '32091119700523***5'`: 排除指定的身份证号本身。
请注意,这个 SQL 查询可能需要根据实际情况进行调整。
阅读全文