0

我有 2 个表,我想通过 php 中的 mysql_query 选择它们。

  • 表格1

列:specialID、Name、Information、Start、created、byUser、ziparea

  • 表2

列:ID、ziparea、cusID、标题、联系人、邮件

$result = mysql_query("SELECT * FROM table1 JOIN table2 ON table1.ziparea = table2.ziparea WHERE table1.specialID='".$_REQUEST["specialID"]."'");
while($var = mysql_fetch_array($result)) {
}

对于从 01 到 99 的每个 ziparea,table1 恰好有 1 个条目。table2 有多个 ziparea 条目。

似乎发生的问题是结果似乎是这样的:

  • 表 1 数据 --- 数据 1 ---- 数据 1 --- 数据 1
  • ziparea -------- 24 -------- 24 -------- 24
  • 表 2 数据 --- 数据 1 ---- 数据 2 --- 数据 3

表示 table1 的数据被复制。我希望单元格为空,因为如果我在 php 中请求 table1.Name,

<?php echo utf8_encode($var["Name"]); ?>

它应该只提供 1 个数据......现在它带有我需要的那个数据的 3 个副本。

我怎么解决这个问题?

4

1 回答 1

0

尝试将 a 添加GROUP BY到您的 SQL 查询中,例如:

$result = mysql_query("SELECT table1.Name FROM table1 JOIN table2 ON table1.ziparea = table2.ziparea WHERE table1.specialID='".$_REQUEST["specialID"]."' GROUP BY table1.Name");
于 2014-04-01T16:13:31.527 回答