我刚刚了解到您可以堆叠 SQL 查询,而不是运行 4 个不同的查询并组合数据。所以我阅读了教程和东西,但仍然无法弄清楚这一点。
SELECT ID,
(SELECT firstname
FROM user
WHERE ID = fundraiser.user_ID) AS firstname,
(SELECT lastname
FROM user
WHERE ID = fundraiser.user_ID) AS lastname,
(SELECT org_fund_id
FROM fundraiser
WHERE ID = fundraiser.ID) AS org_fund_ID,
(SELECT ref_ID
FROM fundraiser
WHERE ID = fundraiser.ID) AS ref_ID
FROM fundraiser
WHERE 1
ORDER BY org_fund_ID ASC
这是被调用的数据库/表的基本设置:[fundraiser] - (ID, ref_ID, user_ID, org_fund_ID) 和 [user] - (firstname, lastname)
基本上,我想从数据库中提取“fundraiser”中的所有字段,但获取相应的“user.firstname”和“user.lastname”,其中“fundraiser.user_ID”=“user.ID”。
所以它会像这样连续出现:fundraiser.ID、fundraiser.user_ID、fundraiser.ref_ID、user.firstname、user.lastname
我已经尝试了 30 种不同的方式来编写这个查询,但都失败了。我得到的错误是“#1242 - 子查询返回超过 1 行”。
不知道我怎样才能给你更多的信息,这样你就可以想象我在说什么,但我会提供我能提供的任何数据。
提前致谢。