簡體   English   中英

如果表名稱由於INNER JOIN而相同,則顯示結果

[英]Display result if Table names are the same due to INNER JOIN

我不知道該怎么解釋我的問題

  1. 我有一個名為asalink的表,其中的代碼鏈接到名為asatbl的表中的名稱
  2. 我正在加入表格,但由於鍵不同,需要將同一字段顯示兩次

請查看我的代碼也許這可以更好地說明

    $sele = "SELECT asatbl_1.asaName, asatbl_1.asaSurname, asatbl.asaName, asatbl.asaSurname, asalink.linkammount
FROM asatbl AS asatbl_1 INNER JOIN (asalink INNER JOIN asatbl ON asalink.asaid = asatbl.asaid) ON asatbl_1.asaSales_ref = asalink.asaSales_ref
WHERE asalink.asaSales_ref=1001";
    $result = mysql_query($sele);

echo "<table border='1' cellpadding='10'>";
    echo "<tr> <th>ASA Name</th> <th>ASA Surname</th> <th>Recipient Name</th> <th>Recipient Surname</th> <th>Amount</th></tr>";


    if($mak = mysql_num_rows($result) > 0){
        while($row = mysql_fetch_assoc($result)){
echo "<tr>";
        echo '<td>' . $row['asaName'] . '</td>';
        echo '<td>' . $row['asaSurname'] . '</td>';
        echo '<td>' . $row['asatbl_1.asaName'] . '</td>';
        echo '<td>' . $row['asatbl_1.asaSurname'] . '</td>';
        echo '<td>' . $row['li nkammount'] . '</td>';
        echo '<td><a href="edit.php?id=' . $row['id'] . '">Edit</a></td>';
        //echo '<td><a href="deleteuser.php?id=' . $row['id'] . '">Delete</a></td>';
        echo "</tr>"; 

如您所見,我使用了asatbl_.asaName和asatbl_1.Surname,但不起作用

預先感謝您的幫助

問候

對結果中的字段名稱使用別名:

SELECT asatbl_1.asaName as fld1, asatbl_1.asaSurname as fld2, ... and so on. 

然后要檢索數據,請參考結果集中的別名

$row['fld1'] 
$row['fld2']
...

希望這會有所幫助

我發現您嘗試使用$row['asatbl_1.asaName']$row['asatbl_1.asaSurname']來獲取字段值的方式出現問題。 您只需刪除列名之前的表名,就可以簡單地使用$row['asaName']$row['asaSurname']

在PHP中運行任何SQL查詢之后,該查詢中的列都使用。(。dot)並通過諸如SELECT **table_name.column_name** FROM table_name符號提取了表名,您不應使用表名訪問PHP查詢結果中的列值在$row['asatbl_1.asaName']$row['asatbl_1.asaSurname']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM