[英]MySQL get count of all rows in another table where the value equals column in current table
[英]MySql get rows where one column equals to another colum in another table where one column is equal
我有两个表:
tbl_post 和 tbl_public
tbl_post:
id | post_id | author | date (unix time)
--------------------------------
0 | 123456 | User 1 | 1489857236
1 | 123457 | User 2 | 1489857237
2 | 123458 | User 3 | 1489857238
tbl_public:
id | post_id | public | date (unix time)
-----------------------------------------
--> 0 | 123456 | 0 | 1489857236
1 | 123457 | 1 |
2 | 123458 | 0 |
--> 3 | 123456 | 1 | 1489857239
我想获取所有行,其中 user = "User 1" 和表 tbl_public 中最新的(按日期排序)公共列大于 0 按日期排序 DESC
你能帮我查询命令吗? :)
您可以通过使用INNER JOIN
来做到这一点,语法如下:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
请简要说明您的需求,尽管我尝试了我从您的问题中理解的内容。 让我知道它是否对你有用。
查询语句:
SELECT
tp.post_id,
tp.author,
tpb.public,
tpb.date
FROM
tbl_post tp
LEFT JOIN tbl_public tpb ON (tp.post_id = tpb.post_id)
WHERE
tp.author = 'User 1'
ORDER BY
tpb.date DESC;
SELECT
*
FROM
tbl_post 'a'
INNER JOIN tbl_public 'b' ON a.post_id = b.post_id
WHERE
author = 'User 1'
AND public > 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.