Bitte helfen Sie !! Ich bin brandneu in SQL-Programmierung und lehre mich alles, während ich mitfahre. Ich bin endlich auf ein Problem gestoßen, das ich nicht angehen kann. Hoffentlich kann jemand helfen. Ich habe die folgenden Tabellen. Was ich tun muss, ist das RECDATE in FROISEDI zu verwenden und alle unterschiedlichen Daten (I4C7DZ) vor und einschließlich dieses Datums in WEI4CPP zu zählen. Ich habe den Code unten verwendet und es scheint zu funktionieren, bis ich einen Datensatz habe, der den gleichen CACLAIM-Wert hat. Ich habe auch Fälle, in denen zwei Datensätze die gleiche CACLAIM und DOI haben, so dass mein Code dann auch nicht funktioniert. Irgendwie muss ich AGCLAIM von FROISEDI verwenden, aber ich weiß nicht, wie man es in meine Zählertabelle zieht. Oh, und ich benutze SAS, also ist es nicht genau SQL aber wirklich nah. Danke für jede Hilfe!Hilfe mit korrelierten Abfragen in SQL
TABLE: FROISEDI
AGCLAIM RECDATE CACLAIM DOI
09073589 1/29/09 09 41615 1/28/09
09115390 3/01/09 00012HR09 2/23/09
09234567 4/20/09 003140010 1/2/09
09154826 5/01/09 003140010 4/28/09
TABLE: WEI4CPP
I4C7DZ I4X6TX I4YWTX I4YFTX
1/28/09 1/28/09 09 41615
1/29/09 09073589 1/28/09 09 41615
1/30/09 09073589 1/28/09 09 41615
2/24/09 2/23/09 00012HR09
2/28/09 2/23/09 00012HR09
3/01/09 09115390 2/23/09 00012HR09
3/15/09 09115390 2/23/09 00012HR09
1/15/09 1/02/09 003140010
1/20/09 1/02/09 003140010
2/08/09 1/02/09 003140010
3/19/09 1/02/09 003140010
4/20/09 09234567 1/02/09 003140010
5/01/09 09154826 4/28/09 003140010
TABLE I NEED TO PRODUCE: COUNTS
AGCLAIM CACLAIM DOI SUBMITS
09073589 09 41615 1/28/09 2
09115390 00012HR09 2/23/09 3
09234567 003140010 1/02/09 5
09154826 003140010 4/28/09 1
CODE ich verwendet habe:
PROC SQL;
CREATE TABLE COUNTS AS
SELECT I4YWTX AS DOI3,
I4YFTX AS CLMNUM2,
COUNT(DISTINCT I4C7DZ) AS SUBMITS
FROM WAREHOUS.WEI4CPP A
WHERE I4C7DZ<=(SELECT RECDATE
FROM FROISEDI
WHERE FROISEDI.CACLAIM=A.I4YFTX
AND FROISEDI.DOI=A.I4YWTX)
GROUP BY WEI4CPP.I4YFTX, WEI4CPP.I4YWTX;
QUIT;
Woher wissen Sie, dass diese 4 Zeilen mit einem Leerzeichen I4X6TX unmittelbar vor 09234567 zu 09234567 gehören? – longneck
WEI4CPP enthält viel mehr Felder als die, die ich zeigte. Jeder Datensatz basiert auf einer Übermittlung an unsere Abteilung, und bis alle Einträge im Datensatz korrekt sind, akzeptieren wir die Einreichung nicht und weisen eine Agenturanspruchsnummer (I4X6TX) zu. Der Datensatz mit der Agenturanspruchsnummer ist der erste Datensatz, den wir akzeptiert haben. Ich versuche zu zählen, wie oft sie eingereicht haben, bevor wir sie angenommen haben. FROISEDI sind alle eindeutigen Aufzeichnungen, die wir akzeptiert haben. –
Wiederholen Sie die Frage von # @ longneck: Wie können Sie sagen, dass die 4 Zeilen in WEI4CPP mit I4YFTX = "003140010" AGCLAIM = "09234567" und nicht mit AGCLAIM = "09154826" zugeordnet sind? Da diese beiden AGCLAIM-Werte mit CACLAIM = "003140010" verknüpft sind, gibt es keine offensichtliche Möglichkeit, zu sagen, dass die WEI4CPP-Zeilen ohne I4XCTX-Wert zu beiden Ansprüchen gehören ... Auch die Namen der Spalten und Tabellen sind so schrecklich wie sie war immer mein Unmut zu lesen - sie machen es definitiv schwieriger, die Frage zu verstehen. –