この質問のいくつかの種類が尋ねられましたが、特定のシナリオに対する回答が見つかりませんでした。クエリで多数のフィールドを選択する際にMAXを使用する
私のクエリには50以上のフィールドが選択されており、そのうちの1つだけがMAX()を使用して集計です。 GROUP BY句では、クエリを実行させるために50個すべてではなく、nameとUserIDという2つの特定のフィールドだけを渡したいと思います。下の小さなサブセットを参照してください。
SELECT
t1.name,
MAX(t2.id) as UserID,
t3.age,
t3.height,
t3.dob,
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.id
LEFT JOIN table3 t3 ON t1.id = t3.id
GROUP BY t1.name, UserID
私の目標を達成するための回避策がありますか? データベースはSQL Serverであり、どんな助けでも大歓迎です。
希望の結果を明確に伝える必要があります。それをより明確にするためのサンプル出力を提供する。あなたの提案ごとに – Alex
が編集されました。ありがとうございます – rafacardosoc
私はまだ混乱しています、特にあなたのSQLは無効です(GROUP BY t1.name、UserID)。 SQL Fiddle(http://sqlfiddle.com/)を作成してください。 – Alex