写一个sql,有租客合同表和同住人表,两张表通过租客合同的id关联,查询每一个和下的所有同住人信息、同住人人数、
时间: 2024-03-08 22:50:07 浏览: 66
可以使用以下 SQL 语句来查询:
```sql
SELECT c.id, GROUP_CONCAT(r.name) AS roommates, COUNT(r.id) AS num_of_roommates
FROM contract c
LEFT JOIN roommate r ON c.id = r.contract_id
GROUP BY c.id;
```
其中,`contract` 表代表租客合同表,`roommate` 表代表同住人表,`id` 是租客合同表中的合同 ID,`name` 是同住人表中的同住人姓名,`contract_id` 是同住人表中的合同 ID,用于关联两张表。`GROUP_CONCAT` 函数可以将同住人姓名连接为一个字符串,`COUNT` 函数可以统计同住人的数量。`GROUP BY` 子句用于按照合同 ID 分组。
阅读全文