2012-04-08 2 views
0
SELECT 
    (SELECT date FROM forums WHERE topic_id=f.id OR id=f.id ORDER BY id DESC LIMIT 1) as last_reply, 
    f.*, p.id as pid, p.name FROM forums f 
     INNER JOIN players p ON p.id = f.author 
    WHERE f.topic_id=0 ORDER BY f.id DESC 

В подзапросе, я хотели бы вернуться не только date поля, но и author поля, а также. как я могу это сделать?MySQL несколько полей из подзапроса

посмотрел на аналогичный пост, но не смог применить его к моему.

+0

Вы пытаетесь добавить автора в список тем, которые вы выбрали так: '(SELECT date, author FROM forums WHERE ...)' – dasblinkenlight

+0

да, но подзапрос предназначен для поиска последнего идентификатора плакатов, а не topic poster id – user1022585

+2

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

ответ

1

Я хотел бы сделать это что-то вроде этого:

SELECT 
    (SELECT date FROM forums WHERE topic_id=f.id OR id=f.id ORDER BY id DESC LIMIT 1) as last_reply, 
    (SELECT author FROM forums WHERE topic_id=f.id OR id=f.id ORDER BY id DESC LIMIT 1) as last_author, 
    f.*, p.id as pid, p.name FROM forums f 
     INNER JOIN players p ON p.id = f.author 
    WHERE f.topic_id=0 ORDER BY f.id DESC 

Я бы на самом деле повторить подзапрос снова

0

Может быть что-то, как это может помочь вам:

SELECT MAX(f.date), f.author 
FROM forums f 
    INNER JOIN players p ON 
     p.id = f.author 
WHERE f.tpoic_id = 0 
GROUP BY f.author 
ORDER BY f.id DESC 

Но это не трудно с не структура таблиц.

Удачи.

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