gpt4 book ai didi

php - JOIN 只返回一个结果

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

我必须查询给定的表。我无法更改表结构。基本上是这样的:

user
-- ---------- ----
id address_id name

address
-- ---
id zip

language
-- ----
id lang

语言条目的id用户id相同。它的主键基于idlang用户address_id 可以是null

现在我想通过一个查询获取所有内容。我试过:

SELECT
p.name,
l.lang,
a.zip

FROM user p

JOIN language l ON p.id = l.id

LEFT JOIN address a ON p.address_id = a.id

WHERE p.id = :id

LIMIT 1

除一件事外,它实际上有效:它只返回连接到用户的第一种语言。如何检索所有语言?

编辑

我正在使用 PHP PDO 检索结果:

$value = $stmt->fetch(PDO::FETCH_ASSOC);

会不会出错?

最佳答案

在看到您的查询后,我意识到您需要了解查询中的 LIMIT 子句。

阅读tutorial of LIMIT .

您在查询中使用了 LIMIT 1,这就是它只检索一行的原因。删除该限制子句以从查询中获取完整数据。

已编辑:

或者代替您的查询尝试以下查询:

SELECT
p.name,
l.lang,
a.zip
FROM user p, language l, address a
WHERE p.id = l.id AND p.address_id = a.id AND p.id = :id

关于php - JOIN 只返回一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18403541/

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