gpt4 book ai didi

php - 使用一个参数 pdo 查询两个表

转载 作者:太空宇宙 更新时间:2023-11-03 11:59:03 25 4
gpt4 key购买 nike

我的项目中有 2 个表 table1table2 并使用参数 id 作为两个表的列

  1. 我想创建一个查询以从两个表中选择数据,如果该 ID 存在于两个表中的话
  2. 如果 id 仅在 table1 中,我将获取在 table1 中找到的行。
  3. 如果 id 仅在 table2 中找到,那么我将仅在 table2 中获取行。

    我尝试使用 INNER JOIN,如果第一个表不包含 id,即使另一个表有 id 它也不会选择,我尝试了 LEFT JOIN 但是当第一个表不包含 if 即使第二个表有它我也无法选择。与 RIGHT JOIN 相同,如果第二个表没有 id 我无法选择。

任何想法都值得赞赏

更新

Pastebin

最佳答案

你需要一个UNION语句

(SELECT * FROM table1 WHERE id = 1)
UNION
(SELECT * FROM table2 WHERE id = 1)

https://dev.mysql.com/doc/refman/5.0/en/union.html

编辑:

如果使用UNION连接两个表,结果会从第一个表中获取字段名。

table1
+----+-------+
| id1| text1 |
+----+-------+
| 1 | aaa |
+----+-------+


table2
+----+-------+
| id2| text2 |
+----+-------+
| 1 | bbb |
+----+-------+


(SELECT 't1' AS 'table', id1, text1 FROM table1)
UNION
(SELECT 't2' AS 'table', id2, text2 FROM table2)


Result:
+-------+----+-------+
| table | id1| text1 | <-- field names from the first table in the UNION query
+-------+----+-------+
| t1 | 1 | aaa |
+-------+----+-------+
| t2 | 1 | bbb |
+-------+----+-------+

示例:http://sqlfiddle.com/#!9/9b839/5

关于php - 使用一个参数 pdo 查询两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30477821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com