【发布时间】:2012-07-27 01:41:42
【问题描述】:
正如您在此处看到的,TotalPic 列返回 0。有什么问题?
SELECT P.*, U.*, COUNT(I.iid) AS TotalPic
FROM post P
LEFT JOIN users U ON U.uid = P.uid
LEFT JOIN images I ON I.pid = P.uid
WHERE P.pid = '2'
我尝试使用LEFT JOIN 这样的线程解决方案MYSQL COUNT return NULL?,但还是一样。
+-----------+
| images |
+-----------+
| iid |
| filename |
| extension |
| pid |
| uid |
+-----------+
+-----------+
| post |
+-----------+
| pid |
| uid |
|description|
| created_at|
+-----------+
+-----------+
| users |
+-----------+
| uid |
| fid |
| date_reg |
+-----------+
【问题讨论】:
-
它返回 0 可能是因为你
WHERE P.pid = 2消除了匹配的行。 -
您的
id列有点神秘,但如果 id 名称中的ps 和is 和us 很重要,那么您似乎正在加入 I 和P 在错误的键上。如果您提供了定义 PK 和 FK 列的 DDL 部分,将会很有帮助。 -
您显示有关您的表的零信息,零数据,并希望我们解释为什么
COUNT返回零?请提供有关您的架构(表定义)的信息,以及每个表中的示例数据。否则,您的问题毫无意义——您显然有问题导致它不返回任何行,但您没有提供任何我们可以用来帮助您找出原因的东西。 -
最好还是多学习一下sql/query
-
我在表
images和pid = 2中有 3 行