Mysql 如何连接表中的两行?
您好,我这里有一个表,表中有以下列:Mysql 如何连接表中的两行?,mysql,sql,Mysql,Sql,您好,我这里有一个表,表中有以下列:appliantid、Name和Age。我想知道如何将两行申请者连接在一起,显示在同一个表(php)上。我正试图从数据库中检索它。谢谢 -------------------------------------- Applicant ID Name Age -------------------------------------- 001 John 20 002
appliantid
、Name
和Age
。我想知道如何将两行申请者连接在一起,显示在同一个表(php)上。我正试图从数据库中检索它。谢谢
--------------------------------------
Applicant ID Name Age
--------------------------------------
001 John 20
002 Nick 22
下面是我希望它返回的内容
--------------------------------------
Name1 Age1 Name2 Age2
--------------------------------------
John 20 Nick 22
编辑:来自Amit工作的代码,但返回的数据是:
如何只返回Nick一次?如果您使用的是php,可能是这样的: 假设我们有一个数组,它的值与表的值相同
$arr = [
['Applicant ID' => 001, 'Name' => 'John', 'Age' => 20],
['Applicant ID' => 002, 'Name' => 'Nick', 'Age' => 22],
];
$res = [];
foreach($arr as $key => $values){
$names = 'Name'.($key+1);
$ages = 'Age'.($key+1);
$res[$names] = $values['Name'];
$res[$ages] = $values['Age'];
}
如果您使用的是php,可能是这样的: 假设我们有一个数组,它的值与表的值相同
$arr = [
['Applicant ID' => 001, 'Name' => 'John', 'Age' => 20],
['Applicant ID' => 002, 'Name' => 'Nick', 'Age' => 22],
];
$res = [];
foreach($arr as $key => $values){
$names = 'Name'.($key+1);
$ages = 'Age'.($key+1);
$res[$names] = $values['Name'];
$res[$ages] = $values['Age'];
}
您可以通过使用以下查询使用自联接:-
SELECT applicant1.name,
applicant1.age,
applicant2.name,
applicant2.age
FROM applicant as applicant1
JOIN applicant applicant2
on applicant1.applicant_id+1 = applicant2.applicant_id;
您可以通过使用以下查询使用自联接:-
SELECT applicant1.name,
applicant1.age,
applicant2.name,
applicant2.age
FROM applicant as applicant1
JOIN applicant applicant2
on applicant1.applicant_id+1 = applicant2.applicant_id;
您可以使用交叉(自)连接过滤行
select a.name as name1, a.age as age1, b.name as name2, b.age as age2
from table1 as a
cross join table2 as b
where a.applicant_ID = '001'
and b.applicant_ID ='002'
您可以使用交叉(自)连接过滤行
select a.name as name1, a.age as age1, b.name as name2, b.age as age2
from table1 as a
cross join table2 as b
where a.applicant_ID = '001'
and b.applicant_ID ='002'
一行有两个申请人的名字是什么意思,如果你有10行申请人的名字是什么样子的,这样我就可以知道你问题的概念和目的,一行有两个申请人的名字是什么意思,如果你有10行申请者,它看起来像什么,这样我就可以知道你问题的概念和目的谢谢,但我是用phpmyadmin的数据来做的,它也有效吗?我对此表示怀疑,因为你没有价值的限制谢谢,但我是用phpmyadmin的数据来做的,它也能工作吗?我对此表示怀疑,因为您没有值的限制。谢谢,我会试试这个。谢谢,我会试试这个。谢谢,我会试试这个。嗨,阿米特,我已经试过您的代码,并且我设法返回了数据。然而,当我有第三排时,它变成这样。基本上在第二行,成员Nick成为Name1。我可以知道如何只返回第一行吗?----------------------------------------------------姓名1年龄1姓名2年龄2---------------------------------------------约翰20尼克22尼克22朱迪24@Azvier您也可以使用limit来限制数据。选择Appliant1.name、Appliant1.age、Appliant2.name,申请人2.申请人作为申请人的年龄1加入申请人2.申请人id+1=申请人2.申请人id限制1;谢谢你,阿米特。您知道如何只返回不同的名称吗?尼克的名字出现了两次。第一行一次,第二行第二次谢谢,我会试试这个。嗨,阿米特,我已经试过你的代码了,我成功地返回了数据。然而,当我有第三排时,它变成这样。基本上在第二行,成员Nick成为Name1。我可以知道如何只返回第一行吗?----------------------------------------------------姓名1年龄1姓名2年龄2---------------------------------------------约翰20尼克22尼克22朱迪24@Azvier您也可以使用limit来限制数据。选择Appliant1.name、Appliant1.age、Appliant2.name,申请人2.申请人作为申请人的年龄1加入申请人2.申请人id+1=申请人2.申请人id限制1;谢谢你,阿米特。您知道如何只返回不同的名称吗?尼克的名字出现了两次。第一排一次,第二排第二次