【发布时间】:2012-07-29 10:22:03
【问题描述】:
希望您能帮助我了解正确的 SQL 查询语法(使用 MySQL 5.5.25)。
我有 3 张桌子:
- 数据
- data_tmp
- 用户
data 表为空 - 有自己的结构但没有行
数据:
id | name | who
----------------
data_tmp:
id | cars | who
---------------
1 | lambo| 2
用户
who | name |
------------
2 | john
我的查询是:
SELECT DISTINCT
users.name,
(SELECT count(id) FROM data WHERE who = 1) as number,
data_tmp.cars
FROM
users, data, data_tmp
WHERE
users.who = 2
AND data_tmp.who = 2
AND data.who = 2
这当然会返回一个空结果(没有适合所有参数的行,因为data 是空的)。
我想要实现的是:
users.name | number | data_tmp.cars |
-------------------------------------
john | 0 | lambo |
我确信我必须 - 以某种方式 - 使用 LEFT JOIN 但找不到正确的语法。希望你能帮助我。
卡雷格
【问题讨论】:
-
什么数据库系统,哪个版本? SQL 只是 结构化查询语言 - 许多数据库系统使用的语言,但不是数据库产品...功能的详细信息通常是特定于供应商的 - 所以我们真的需要知道您使用的是什么数据库系统....
-
@Kalreg 在下面查看我的答案。