2013-11-20 3 views
0

У меня есть две таблицы:как использовать присоединиться в этом случае

стол 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' 

Я уверен, что это не правильный way.Any помощь?

+0

Где вы хотите присоединиться к ним? Что они имеют общего? ID пользователя? 'INNER JOIN a_r ON a_r.look_week = p_i.look_week'? – putvande

+0

member_id и look_week ... его просто, что я знаю, что он будет иметь только одну запись. Я не могу правильно запрограммировать запрос. Я передаю эти два в качестве параметров ... thse - это поле, которое у меня есть .. –

+0

Взгляните на мой ответ, если результат не соответствует ожидаемому, пожалуйста, обновите свой вопрос, чтобы показать желаемый результат. – Drahcir

ответ

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'; 
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 равны 1 и look_week равна 2

Результирующий набор для выше:

is_pinned | rating 
------------------ 
yes  |  4 
+0

проблема в том, что у меня есть функция фиксации и оценки ... мне нужно получить рейтинг с помощью недели и булавки с использованием member_id..и не уверен, что это даст правильный результат .. я могу легко получить их, используя отдельные запросы, , но я хочу сделать это в одном запросе. –

+0

Основываясь на вашем объяснении, я думаю, что он будет работать правильно. Если нет, то у меня должны быть проблемы с пониманием. Можете ли вы показать желаемый результат в своем вопросе? – Drahcir

+0

Вы говорите, что можете получить их оба с отдельными запросами, каковы 2 запросов, которые работают? – Drahcir

Смежные вопросы