Php 比较两个SQL表,如果它们在公共输出表1值和表2值中有ID,我希望始终输出表1值
我正在比较两个SQL表(表1和表2),如果它们有一个共同的“ID”,我想同时打印出来。如果他们不共享“ID”,我只想打印出第一个表值。我进行了连接,但只能输出具有匹配值的数据。然后,我尝试选择*数据并将其放入数组中,然后用PHP对其进行过滤,但我遇到了困难Php 比较两个SQL表,如果它们在公共输出表1值和表2值中有ID,我希望始终输出表1值,php,sql,Php,Sql,我正在比较两个SQL表(表1和表2),如果它们有一个共同的“ID”,我想同时打印出来。如果他们不共享“ID”,我只想打印出第一个表值。我进行了连接,但只能输出具有匹配值的数据。然后,我尝试选择*数据并将其放入数组中,然后用PHP对其进行过滤,但我遇到了困难 SELECT table1.value, table2.additionalinfo FROM table1 INNER JOIN table2 ON table1.ID=table2.ID 将其改为外部联接—这样您将始终引入第一个表—并且
SELECT table1.value, table2.additionalinfo
FROM table1
INNER JOIN table2
ON table1.ID=table2.ID
将其改为外部联接—这样您将始终引入第一个表—并且只要从第二个表中引入匹配的行(如果有):
SELECT table1.value, table2.additionalinfo
FROM table1
left outer JOIN table2
ON table1.ID=table2.ID
说真的,这将更详细地解释这个答案。我写这篇文章是专门为这样的情况而写的——你得到了问题的答案,但可能没有得到足够的细节和答案来让它完全留在你的脑海中——Q&A用大量的细节解释了一切(例如内部连接、外部连接)。我认为你想要一个“左-外部连接”:
SELECT table1.value, table2.additionalinfo
FROM table1 LEFT JOIN
table2
ON table1.ID = table2.ID;