Php 如何使用多个公共字段连接两个表以进行搜索筛选
我有两个表格bpi_注册和bpi_团队档案。bpi_注册中的字段为:Php 如何使用多个公共字段连接两个表以进行搜索筛选,php,mysql,sql,Php,Mysql,Sql,我有两个表格bpi_注册和bpi_团队档案。bpi_注册中的字段为:id、id_学校、名、姓、电子邮件、城市、州、国家,bpi_团队档案表中的字段为id_团队、团队名称、id_学生1、id_学生2、id_学生3现在id_学生1、id_学生2、id_学生3包含与bpi_注册学生相同的id。我不知道如何连接多个字段。我写的问题如下。如果我错了,请纠正我: SELECT * FROM bpi_registration INNER JOIN bpi_teamProfile
id、id_学校、名、姓、电子邮件、城市、州、国家
,bpi_团队档案表中的字段为id_团队、团队名称、id_学生1、id_学生2、id_学生3
现在id_学生1、id_学生2、id_学生3包含与bpi_注册学生相同的id
。我不知道如何连接多个字段。我写的问题如下。如果我错了,请纠正我:
SELECT * FROM bpi_registration
INNER JOIN bpi_teamProfile
ON bpi_registration.id=bpi_teamProfile.id_student1
AND bpi_registration.id=bpi_teamProfile.id_student2
AND bpi_registration.id=bpi_teamProfile.id_student3
AND bpi_registration.id=bpi_teamProfile.id_student4
AND bpi_registration.id=bpi_teamProfile.id_student5
我试图以这样一种方式实现搜索过滤器:当有人单击团队下拉列表时,会显示bpi_注册
中的名字、姓氏、电子邮件、城市、州、国家。下面是我的PHP代码
if(isset($\u GET['Team']))
{
$sql=“从bpi\U注册中选择*
内部连接bpi\U团队配置文件
关于bpi_注册。id=bpi_teamProfile.id_student1
和bpi_registration.id=bpi_teamProfile.id_student2
和bpi_registration.id=bpi_teamProfile.id_student3
和bpi_registration.id=bpi_teamProfile.id_student4
和bpi_registration.id=bpi_teamProfile.id_student5“
$userQuery=“{$sql}其中bpi_teamProfile.team_name=:team_id”;
$user=$db->prepare($userQuery);
$user->execute(['team\u id'=>$\u GET['team']]);
$selectedUser=$user->fetch(PDO::fetch\u ASSOC);
如果(设置($selectedUser))
{
回声';
回显'.$selectedUser['first_name'].';
回显'.$selectedUser['last_name'].';
回显'.$selectedUser['email'].';
回显'.$selectedUser['address_city'].';
回显'.$selectedUser['address_state'].';
回显'.$selectedUser['address_country'].';
回声';
}
}
给定行中的学生id列似乎不太可能全部映射回同一id(在注册中)…或者查询将正确返回。如果它们不同,是否要“或”加入
SELECT * FROM bpi_registration
INNER JOIN bpi_teamProfile
ON (bpi_registration.id=bpi_teamProfile.id_student1)
OR (bpi_registration.id=bpi_teamProfile.id_student2)
OR (bpi_registration.id=bpi_teamProfile.id_student3)
OR (bpi_registration.id=bpi_teamProfile.id_student4)
OR (bpi_registration.id=bpi_teamProfile.id_student5)
@PiyushGupta不,我不是我认为你的问题是正确的,我们不知道你的实际需求,所以你能更新你的问题吗?……你有足够的数据库用于测试吗?@PiyushGupta我现在更新了我的问题。