我是MySQL和PHP的新手。我尝试使用JOIN从一个查询中的两个表中获取数据值时遇到一些问题。我想做的是查询" user_builds"和SUM(amount)其中owner_id = 1 AND type = 1。现在出现的问题是我必须从另一个名为" builds"的表中获取build_type。
我试图像我在JOIN中提到的那样解决这个问题,但我最接近的是得到的行数等于user_id = 1的行数。 我想要的是选择&#34;总数&#34;(user_builds),其中&#34; type = 1&#34;(构建)和&#34; owner_id = 1&#34;(user_builds)。< / p>
我希望你明白我在这里尝试做什么,如果不是,我会尝试详细说明。并且抱歉没有提供我尝试的任何查询,但因为没有一个工作它感觉无关紧要。谢谢你的时间。
编辑:
+-------------------+
| user_builds |
+---------+---------+----------+-------+
| id |owner_id | build_id | amount|
+---------+---------+----------+-------+
| 1 | 1 | 1 | 5 |
| 2 | 2 | 2 | 15 |
| 3 | 2 | 3 | 15 |
| 4 | 1 | 4 | 5 |
| 5 | 1 | 5 | 5 |
| 6 | 1 | 6 | 10 |
+---------+---------+----------+-------+
+----------------------+
| build |
+---------+------------+-----------+--------+
| id | name |description| type |
+---------+------------+-----------+--------+
| 1 | House | desc | 1 |
| 2 | Kitchen | desc | 2 |
+---------+------------+-----------+--------+
我想查询&#34; user_builds&#34;得到&#34;金额&#34; owner_id = 1且type = 1。 (类型可在&#34; build&#34;表中找到。)
答案 0 :(得分:1)
试试这段代码,我希望它能正常运作。
select sum(ub.amount)
from user_builds ub
left join build b
on ub.build_id = b.id
where b.type=1
and ub.owner_id = 1
答案 1 :(得分:0)
select SUM(amount) from user_builds left join builds on build.type = user_builds.type where "owner_id=1"
尝试此查询并将我的查询字段替换为原始字段
祝你好运......