【发布时间】:2014-08-19 03:45:20
【问题描述】:
我正在学习 SQL,目前我正在尝试使用 SQLite 编写应用程序。目前我有 3 张桌子:
合作: cid 整数主键, ...
人: pid 整数主键, 名称字符串, ...
person_works_in_cooperative: cid 整数, pid 整数, 工作整数
我想生成一个新表,其中每一行都有来自合作社的数据,还有来自工作为“0”(总裁)、“1”(秘书)、“2”(司库)和工作为“4”的三个人(顾问)。
目前我能够加入表格,但我找不到在决赛桌中合并 6 个不同行的人的方法。有人可以给我建议如何进行吗?
编辑:到目前为止我写的是一个很长的 JOIN:
SELECT cooperative.cid, person.name AS president, person.pid AS president_pid,
person.name AS secretary, person.pid AS secretary_pid, person.name AS treasurer,
person.pid AS treasurer_pid, person.name AS counselor1, person.pid AS
counselor1_pid, person.name AS counselor2, person.pid AS counselor2_pid, person.name
AS counselor3, person.pid AS counselor3_pid FROM cooperativ1 LEFT JOIN
person_works_in_cooperative ON cooperative.cid = person_works_in_cooperative.cid
LEFT JOIN person ON person_works_in_cooperative.pid = person.pid;
但我不知道如何告诉数据库我希望我询问的每一对人名和 pid 应该对应于 person 表中的不同人。
【问题讨论】:
-
显示你目前写的SQL。