【发布时间】:2014-04-01 20:24:14
【问题描述】:
我得到了以下 2 个 mysql_queries:
$result = mysql_query("SELECT * FROM table1 WHERE tenderID='".$_REQUEST["tenderID"]."'");
while($tender = mysql_fetch_array($result)) {
$zippy = $tender["ziparea"];
$zipResult = mysql_query("SELECT * FROM table2 WHERE ziparea = '".$zippy."'");
while($zip = mysql_fetch_array($zipResult)) {
....
}
}
第一个查询就像我希望的那样工作。
table1 有 'ziparea' 列,但对于每个 ziparea(01 到 99),它总是只有 1 个条目。 table2 也有 'ziparea' 列,但有时每个 ziparea 有超过 1 个条目(例如:ziparea '24' 有 5 个条目;表示 5 行)
我需要两个表中的所有信息,我尝试将两个查询与“JOIN”合并,但我无法解决问题,该问题也存在于顶部的代码中。
问题是 - 即使 table1 中只有 1 个条目 - 它总是提供尽可能多的行,因为 table2 将为查询 2 输出。
表示如果 ziparea 为 24 并且 table1 中只有 1 行 ziparea '24' (当然只有 1 行具有匹配的tenderID),但 table2 有 5 行 ziparea '24',将有 5乘以查询一中的相同值。
我真的不知道为什么。
也许你有我的解决方案。
table1和table2的结构:
【问题讨论】:
-
为什么不在表之间进行连接?
-
如果我加入他们,我也会遇到同样的问题,因为表 2 中的“ziparea”列有多个条目。 ....如果我然后使用
<?php echo utf8_encode($tender["tenderName"]); ?>它会给我5倍相同的tenderName,即使只有一个tenderName...它似乎填满了table2中的行...这重复了我的html内容( 5x)
标签: php mysql sql join multiple-columns