簡體   English   中英

在這種情況下如何使用join

[英]how to use join in this case

我有兩個表:

表pin_info:

id | member_id | look_week | look_name            | is_pinned | date 

1  |   1       |   3       | the improviser       | yes       | 2013-11-19 21:57:04
2  |   1       |   2       | destined for stardom | yes       | 2013-11-19 21:56:00
3  |   1       |   1       | fashinably corporate | no        | 2013-11-19 21:54:00   

表arrow_rating:

id | member_id | look_week | look_name            | rating |

1  |   1       |   3       | the improviser       |   3    |
2  |   1       |   2       | destined for stardom |   4    |
3  |   2       |   1       | fashinably corporate |   5    |

我想要is_pinned (來自pin_info)和rating (來自rating)。我將擁有參數member_id和look_week。 (分別假設1和2)

我做了什么:

SELECT p_i.is_pinned,a_r.rating 
FROM pin_info p_i,arrow_rating a_r 
WHERE p_i.look_week=a_r.look_week AND p_i.member_id='1'

我確定這不是正確的方法。有幫助嗎?

嘗試這個:

SELECT pin_info.is_pinned, arrow_rating
FROM pin_info INNER JOIN arrow_rating
ON pin_info.look_week = arrow_rating.look_week
WHERE pin_info.id = '1';
SELECT is_pinned, rating
FROM pin_info
LEFT JOIN arrow_rating USING (look_week, member_id)
WHERE pin_info.member_id = 1
AND pin_info.look_week = 2

這將選擇member_id等於1以及look_week等於2

上面的結果集是:

is_pinned | rating
------------------
yes       |      4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM