在这种情况下如何使用join

时间:2013-11-20 20:39:24

标签: php mysql join

我有两张桌子:

表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)和评分(来自评级)。我将拥有参数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'

我确信这不是正确的方法。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

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';

答案 1 :(得分:0)

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 s等于1look_week等于2

的位置

上述结果集是:

is_pinned | rating
------------------
yes       |      4
相关问题