0
2つのテーブルと2名様から最新の日付を取得します。私はテーブルを持っている
Person
-------------
ID | name
Notes
---------------------------
targetID | Content | Date
CallHistory
--------------------------
CallerID | CalleeID | Date
は、今私は人と(同じPersonテーブルの上にある)配偶者を持っていると言います。 対応するメモと通話履歴があります。
SELECT top 1 Date, ID from (select TargetID as ID, Date from notes
union
SELECT CalleeID as ID, Date from Callhistory)
WHERE ID in (person.ID, spouse.ID)
しかしなし運:私が欲しいもの
は、配偶者や人の最新の日付(電話またはノート)
アイブ氏が試したいずれかから最新の日付を選択することです。
EDIT:この選択は、select文の中で:
select p.*, SELECT top 1 Date, ID from (select TargetID as ID, Date from notes
union
SELECT CalleeID as ID, Date from Callhistory)
WHERE ID in (person.ID, spouse.ID) as RecentContactDate
From Person person
LEFT JOIN PersonRelationship pr on person.ID = pr.ID AND pr.Type = 3 -- spouse
LEFT JOIN Person spouse on pr.RelatedID = spouse.ID
......
イムAmbigous column name Date
エラーを取得します。
この記事へのスヴェンの答えは、私は私の問題を解決する助けた@
あなたは彼らが配偶者であることをどのように知っていますか?私はあなたのテーブルにその関係がないと思う。 –
彼らが配偶者であるかどうかは関係ありません。私はIDとか.. –
あなたは「配偶者またはその人の最新の日付」と言っていますので、その関係を判断する方法が必要です。 –