![](/img/trans.png)
[英]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.