2012-05-08 2 views
-1

Это мой текущий запрос:mySQL внутренний запрос соединения - как мне объединить эти 2 запроса?

SELECT DISTINCT t.* FROM filter AS f 
INNER JOIN filter_thread AS ft 
ON ft.filter_id = f.filter_id 
INNER JOIN thread AS t 
ON ft.thread_id = t.thread_id 
WHERE f.tag LIKE '%test%' 
ORDER BY t.replystamp DESC 

возвращает кучу данных, включающей в себя «owner_id» колонка.

«user_table» содержит соответствующий идентификатор, обозначенный «ID»

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

SELECT username FROM users WHERE id='$user_id'" 

Мне нужно это происходит в том же запросе! Но добавление дополнительного INNER JOIN не работает.

ответ

2

возможно это:

SELECT DISTINCT t.*,u.username 
FROM filter AS f 
INNER JOIN filter_thread AS ft 
ON ft.filter_id = f.filter_id 
INNER JOIN thread AS t 
ON ft.thread_id = t.thread_id 
INNER JOIN users AS u 
ON u.id = t.owner_id 
WHERE f.tag LIKE '%test%' 
ORDER BY t.replystamp DESC 

только предположение.

1

Попробуйте следующее:

SELECT DISTINCT t.*, u.username FROM filter AS f 
    INNER JOIN filter_thread AS ft 
     ON ft.filter_id = f.filter_id 
    INNER JOIN thread AS t 
     ON ft.thread_id = t.thread_id 
    INNER JOIN users AS u 
     ON ft.owner_id = u.id 
    WHERE f.tag LIKE '%test%' 
    ORDER BY t.replystamp DESC 
+0

оба работали как очарование. Может принимать только один ответ, поэтому я выберу первый. –

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