我使用3表模型构建了一种标签系统。
表1:客户
表2:工作场所
表3:ClientWorkplace:
允许一个客户拥有多个工作场所。以下是表3中的示例数据:
我已成功构建了插入和删除客户端页面。目前,我正在构建编辑客户端页面,其中显示当前客户端名称和复选框输入&工作场所名称作为所有工作场所类型的标签(将检查与当前客户有关系的那些)。但我不知道正确的SQL查询语句。
指定的client_id 1的期望结果基本上应该是:
cliend_id:1 | client_name:"我的客户名称" | workplace_ids:" 1,3,5"
请帮忙!非常感谢你!
答案 0 :(得分:0)
您可以使用它来加入3个表
SELECT c.client_name, w.workplace_name
FROM Clients c
LEFT JOIN ClientWorkplace cwp ON cwp.client_id = c.client_id
LEFT JOIN Workplaces w ON w.workplace_id = cwp.workplace_id
的完整参考
答案 1 :(得分:0)
您可以使用JOIN
来获取它们。
SELECT workplace_name, client_name
FROM Workplaces w
INNER JOIN ClientWorkplace cw ON cw.workplace_id = w.workplace_id
INNER JOIN Clients c ON cw.client_id = c.client_id
ORDER BY w.workplace_id
它将获取所有工作场所和所属客户端。运行循环并根据需要处理数据。