Ich habe Tabellen:Erhalten Neueste Datum von 2 Tische und 2 Personen
Person
-------------
ID | name
Notes
---------------------------
targetID | Content | Date
CallHistory
--------------------------
CallerID | CalleeID | Date
Jetzt sagen, ich habe eine Person und ein Ehepartner (die auf der gleichen Person Tabelle). Sie haben entsprechende Notizen und Callhistory.
Was ich will, ist das jüngste Datum aus, um entweder den Ehepartner oder einer Person des jüngsten Datum (Anruf oder eine Notiz)
Ive versucht:
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)
aber ohne Glück.
EDIT: Diese select ist in einer select-Anweisung:
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
......
Im Ambigous column name Date
Fehler.
irgendwelche Ideen?
Woher wissen Sie, dass sie Ehepartner sind? Ich sehe diese Beziehung nicht in Ihren Tabellen. –
ob sie Ehepartner sind oder nicht, ist irrelevant. Ich sage, was ist, wenn ich IDs habe ..? –
Sie sagten "entweder der Ehegatte oder das letzte Datum der Person" - Sie müssen also eine Möglichkeit haben, ihre Beziehung zu bestimmen. –