状況:私はtable1にmy_number、location、およびidのデータフィールドを持っています。テーブル2では、私はデータフィールド(他のものの中でも)id、site、dateを持っています。私はそれらをいくつかの同じデータフィールドとmy_numbersを持つ他のビュー/テーブル(cとa)に結合しています。SQL:集計関数またはGROUP BY句に含まれていないため、選択リストで無効です。
私の目標:各my_numberには複数のIDがあり、各サイトで最も大きなID値が必要です。だから私はサイトごとにグループを使いました。 次に、IDに基づいてmy_numberの 'date'を取得する必要があります。なぜなら、2番目のテーブルにはmy_numberというIDが関連付けられていないからです。 合計3つのサイトがあるため、各サイトに3つの最大ID値が必要です。 GROUP BY
に表示されます
a.num a.site a.date c.OtherPart T2.date
15 TN 1.1.16 17 3.19.16
15 FL 2.21.16 17 4.22.16
15 TX 1.7.15 17 3.21.16
私はあなたが少なくともあなたに間違いを与えている理由を知っていますか?サブクエリ内に「GROUP BY location」を置くことはできません。基本的には、存在しない値をグループ化するように指示しているので、それを実行できないので、集計関数(MAX)があるため、クエリでグループ化する他の値がないためエラーとなります。残りのクエリを含めてください。 – Dresden
もし 'SELECT my_number、MAX(id)as id'を持っていれば** my_numberで' group by my_number'を持つ必要があります。 (期間) –