私は SQL Server Management Studio を使用しており、必要なすべてのデータ ポイントをまとめて取得できるようにクエリを実行する集計関数を使用してビューを作成しようとしています。
次を含むテーブルを見ています: 連絡先テーブル:
連絡先ID 123 姓のオーバーフロー ファーストネーム スタック
通話テーブル:
contactid 123 starttime 2013 年 3 月 4 日 contactid 123 starttime 2013 年 2 月 2 日 contactid 123 starttime 2013 年 1 月 3 日
contactid と name とともに最大日付 (2013 年 3 月 4 日) を取得できるように、ビューを作成しようとしています。ただし、何らかの理由でクエリが複数の開始時刻を取得しています。
これは私がビューを作成する方法です:
Create VIEW LastIntakeView
AS SELECT c.contactid, c.lastname, c.firstname, ca.starttime
FROM sfcd.dbo.Contacts c, sfcd.dbo.Calls ca
WHERE ca.starttime=(select MAX(cl.starttime)
from sfcd.dbo.Calls cl where
ContactTypeID=29 group by cl.contactid);
次のエラー メッセージが表示されます。メッセージ 512、レベル 16、状態 1、行 2 サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。
最大日付を取得するためにさまざまな方法を試しました。どんな助けでも大歓迎です。ありがとう!