我有一个MySQL查询,已离开加入另一个表,并且工作正常。我现在不得不离开另一张桌子。起初这似乎也起作用。 但事情是:我匹配连接的价值在一张表singulary /索引,但在另一张桌上它出现了繁殖。 我在阐明这个问题上很不好,即使这是一个相当简单的设置。MySQL左加入与结构基本不同的表
所以我做了小提琴想象我的意思:https://jsfiddle.net/fesoLvy4/2/
当我现在在做我平时左连接例行并把请求mysql_query到PHP:
<?php
echo " <table>
<tr>
<th>Dog</th>
<th>Species</th>
<th>Properties</th>
</tr>";
while($data = mysql_fetch_row($mysql_leftjoin_query)){
echo " <tr>
<td>$data[0]</td>
<td>$data[1]</td>
<td>$data[2]</td>
</tr>
</table>"; }
?>
只有左边的第一个条目连接表进入表 - $ data [3]只包含第二个表匹配的第一个值,但我想要所有匹配$ data [3]的条目。请看一下小提琴,我很努力地把这个写成文字,但我认为这是一个非常简单的设置。 我认为它与php的mysql_fetch_row有关,但我无法把它放在手指上。
为了完整起见,这里是我的MySQL查询(简体):
$mysql_leftjoin_query = mysql_query("SELECT MASTER.animal, MASTER.species, BI.properties
FROM `XYZ_MASTER` MASTER
LEFT JOIN `XYZ_BOARD_INFO` BI
ON (MASTER.animal = BI.animal)");
现在,BI.properties应该算所有的BI的地方MASTER.animal和BI.animal比赛,而不仅仅是第一单中的条目条目。
您是否试图执行您的'php'代码?是否应该有'回声'? – akasummer
左连接按预期工作。见[fiddle](http://sqlfiddle.com/#!9/ce3de/1)。但是您提供的PHP代码无效。它无法运行。 – trincot
不,我很抱歉@akasummer,我的错,我没有提供整个php并简单化了它,所以它会更容易阅读(这是相当详尽的)。 PHP的工作正常,正如我所说,我能够得到我想要的结果 - 除了例外情况,我只得到匹配'joined on'值的第二个表的第一个值。 – sardine