从表B中选择数据,其中表B中的字段与表a匹配(php-mySQL)


Select data from table B where a field in table B matches table A (php mySQL)

我有一个包含牲畜列表("牲畜")的表,它会定期更新和更改。我还有第二个表("描述"),包含两列"科学"answers"描述"。

当两个表中的Scientific字段匹配时,我需要从描述表中选择Description字段,但不确定如何最好地做到这一点。

希望这是有意义的,任何帮助都非常感谢

由于两个表之间不匹配(意味着并非livestock中的所有行在description中都有相应的行),因此您很可能必须使用OUTER JOINLEFTRIGHT)来实现目标

SELECT l.*, d.description
  FROM livestock l LEFT JOIN description d
    ON l.scientific = d.scientific

这是SQLFiddle演示

进一步读取

  • SQL联接的可视化解释

附带说明:在询问与查询相关的问题时,尤其是当您没有提供查询版本时,请至少帮助那些希望帮助您的人,并提供您的表架构、示例数据和基于它的所需输出。最好花一分钟时间用示例数据创建sqlfiddle

假设table_a是牲畜表的名称,table_b是其中包含描述的表,那么您将希望在"科学"字段中加入这些表。

SELECT table_a.*, table_b.Description
FROM table_a
JOIN table_b ON table_a.Scientific = table_b.Scientific

您需要将table_atable_b替换为正确的表名。