1
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です。これどうやってするの?

同様の投稿を見ましたが、私のものには適用できません。

4

2 に答える 2

2

私はそれを次のようにします:

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

実際にサブクエリをもう一度繰り返します

于 2012-04-08T22:35:48.240 に答える
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

しかし、テーブルの構造がないと難しいです。

幸運を。

于 2012-04-08T22:39:33.627 に答える