SQL Select with Inner Join

时间:2013-02-05 07:39:14

标签: sql inner-join

我知道之前已经提出这个问题,但我发现很难应用这个原则来解决我的问题。我有2个表,我想从中选择数据。

我尝试过使用下面的内部联接sql查询:

$query1 = "SELECT `entries.id`, `code_id`, FROM `entries` INNER JOIN `codes` ON `code_id` = `codes.id`";
$result = mysql_query($query1);

我的显示如下:

 while($row = mysql_fetch_array( $result )) 
      {
      echo "<tr>";
      echo "<td>" . $row['id'] . "</td>";
      echo "<td>" . $row['name'] . "</td>";
      echo "<td>" . $row['msisdn'] . "</td>";
      echo "<td>" . $row['created'] . "</td>";
      echo "<td>" . $row['code_id']  . "</td>";
      echo "</tr>";
      }

我正在尝试从表格代码中获取实际代码,并将其显示到网站,但我不断获取ID(数字)而不是实际代码。

有人可以协助。我已经在互联网上查了一下,甚至还有一些电子书,但我还是个新手,希望有人指导我完成整个过程。感谢所有投入。

2 个答案:

答案 0 :(得分:2)

如果在“id”等不同的表中存在具有相同名称的字段,则必须为字段指定新名称:

$query1 = "SELECT `entries.id` as entriesid, entries.name, entries.msisdn, entries.created, `codes.id` as codesid, FROM `entries` INNER JOIN `codes` ON `entries.id` = `codes.id`";
$result = mysql_query($query1);

...

  echo "<td>" . $row['entriesid'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['msisdn'] . "</td>";
  echo "<td>" . $row['created'] . "</td>";
  echo "<td>" . $row['codesid']  . "</td>";

答案 1 :(得分:0)

您可以执行以下操作:

$sql = mysql_query("select entries.* , codes.* from entries,codes where entries.code_id=codes.id");
 while($fetch = mysql_fetch_array($sql)) {
   // Do Your Display
}

希望这会有所帮助。 mysql函数也在降级。所以改成mysqli / PDO