2013-06-20 118 views
0

混合兩個表我有相互連接

$sql = "SELECT * FROM `address` WHERE ...some requirements..."; 

在結果$ sql中有一個稱爲addressid列。

然後我經歷了所有addressid迭代,並執行

$sql2 = "SELECT * FROM `products` WHERE ...some other requirements... AND addressid = $currentaddressid"; 

我選擇*,因爲我使用的每一個幾列所以這需要加以考慮。其結果是像

$valueone = $sql_assoc_array['name']; 
$valuetwo = $sql2_assoc_array['nameproduct']; 

目前看起來是這樣的:

execute $sql 
while ($sql is being fetched) 
{ 
    execute $sql2 with addressid 
    while ($sql2 is being fetched) 
    { 
    do stuff 
    } 
} 

我怎樣才能既混合成一個命令,並給予必要的處理到MySQL這樣的$結果SQL2立即來了嗎?

+0

爲什麼你不使用JOIN? – ikis

回答

0

在兩個表的地址標識之間使用內部聯接。

SELECT *從表1一個內連接表2 b其中a.addressid = b.addressid。

+0

我不明白連接。 –

+0

我編輯了我的答案以包含內部聯接示例。 – MACMAN

+0

這有幫助。我發現一些列名在結果中重複(f.i.id)。有沒有辦法重新命名它們,以便在結果中有唯一的列名稱? –