【发布时间】:2013-02-20 06:06:12
【问题描述】:
三个表
状态 : ID,member_1,member_2 -->
(eg. 12, member_Joseph, member_John ;
22, member_Jacob, member_Jarrod ;
31, member_Jarrod, member_John
11, member_John, member_Jacob)
提交:身份证,学生-->
(eg. 12, Amy ;
22, Brian;
31 Susan ;
11 Kyle)
info : member_name, 联系方式 -->
(eg. member_Joseph, joseph@name.name;
member_Jacob, jacob@name.name ;
member_Jarrod, jarrod@name.name ;
member_John, john@name.name )
从查询构建的新表:
member_Joseph, joseph@name.name, Amy;
member_Jacob, jacob@name.name, Kyle ;
member_Jarrod, jarrod@name.name, Brian, Susan ;
member_John, john@name.name, Amy, Susan, Kyle )
我想将所有学生的数组分配给状态表中的每个成员
例如。
array1 --> member_Joseph: 学生 1,学生 2,学生 3
array2 --> member_John: 学生 2,学生 4,学生 5
array3 -->member_Jacob: 学生 3,学生 5,学生 1
会是:
$query = db_query("
SELECT info.member_name, submit.student
FROM {info}
INNER JOIN {status}
ON info.member_name = status.member_1
INNER JOIN {status}
ON info.member_name = status.member_2
INNER JOIN {submit}
ON submit.id = status.id
");
while($result = db_fetch_array($query)){
echo $result['student']; //iterate through members and print students for each
}
错误是:“不是唯一的表/别名”
(仅供参考:我使用的是 Drupal 6 语法)
【问题讨论】:
-
我认为
{status}被解析为同一个别名两次,导致错误。 -
问题是,我需要查看状态两次以获取分配的第一个和第二个成员的名称
-
ic,直到现在我才知道别名是什么。谢谢
标签: php mysql drupal select inner-join