我正在做作业,但其中一种视图的SQL语句有问题。基本上,我拥有可以发布帖子的餐厅和可以喜欢该帖子的用户(非常类似于Facebook喜欢的过程)。
这个想法是要进行一个SQL查询,以向我显示餐馆以RIF ='1123J'发表的所有帖子,以及每个帖子的赞次数。
这些是表结构:
CREATE TABLE 'posts'(
'ID' int(11) NOT NULL AUTO_INCREMENT,
'restaurant_rif' varchar(255) NOT NULL,
'content' text NOT NULL,
'creation_date' datetime NOT NULL,
PRIMARY KEY ('ID'),
UNIQUE KEY 'ID' ('ID')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
CREATE TABLE 'likes' (
'post_id' int(11) NOT NULL,
'restaurant_rif' varchar(255) NOT NULL,
'user_mail' varchar(255) NOT NULL,
'liked_date' datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我或多或少会得到这样的答案:
+----------+------------+------------------+
| Post ID | Contenido | Amount of Likes |
+----------+------------+------------------+
| 1 | Test 1 | 12 |
+----------+------------+------------------+
| 2 | Test 2 | 50 |
+----------+------------+------------------+
| 1 | Test 3 | 120 |
+----------+------------+------------------+
select *, (select count(*) from likes l where l.post_id = p.id) as num_likes
from posts p
where restaurant_rif = '<rif>'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句