2017-07-27 45 views
0

您好,我在這裏列出了以下列:ApplicantID,NameAge。我想知道如何將兩行申請者一起加入到同一個表格(php)中。我試圖從數據庫中檢索它。謝謝!如何從表中連接2行?

-------------------------------------- 
Applicant ID  Name  Age 
-------------------------------------- 
001    John  20 
002    Nick  22 

下面是我想什麼它返回

-------------------------------------- 
Name1  Age1  Name2 Age2 
-------------------------------------- 
John   20  Nick  22 

編輯:從阿米特工作的代碼,但返回的數據是:


Name1  Age1  Name2 Age2 
-------------------------------------- 
John   20  Nick  22 
-------------------------------------- 
Nick   22  Judy  25 

怎麼只有我做尼克回來一次?

+1

什麼是具有兩個意義申請人姓名在一行中,如果你有10行申請人,看起來是什麼樣子,所以我可以知道你的問題的概念和目的 –

回答

0

您可以使用自己使用下面的查詢加盟: -

SELECT applicant1.name, 
     applicant1.age, 
     applicant2.name, 
     applicant2.age 
FROM applicant as applicant1 
JOIN applicant applicant2 
    on applicant1.applicant_id+1 = applicant2.applicant_id; 
+0

謝謝,我會試試這個。 – Azvier

+0

確實Azvier .... – Amit

+0

嗨Amit,我試過你的代碼,我設法返回數據。但是,當我有第三排時,就變成了這樣。基本上在第二行,成員Nick成爲Name1。我可以知道如何返回第一行嗎? ----------------------------------------------- Name1年齡1姓名2年齡2 ---------------------------------------------- - John 20 Nick 22 Nick 22 Judy 24 – Azvier

2

,如果你使用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']; 
} 
+0

謝謝,但我使用phpmyadmin中的數據來處理它,它是否也工作得很好? – Azvier

+0

我懷疑它,因爲你沒有限制的價值 –

+0

哦,無論如何。 – Azvier

1

,你可以使用交叉(個體經營)加入過濾行

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' 
+0

謝謝,我會試試這個。 – Azvier