Ich habe einen Datensatz, wo einige der Zeilen dupliziert sind. Insbesondere werden sie für die letzten drei Zeilen des Datensatzes dupliziert. Von den gesamten vier Reihen würde die korrekte Ergebnismenge, die ich wünsche, die erste Reihe und die letzte Reihe umfassen. Ich wünsche dies, weil für einen bestimmten SARAPPD_TERM_CODE_ENTRY der Datensatz benötigt wird, für den der Wert SARAPPD_SEQ_NO maximal ist. Also, die erste Zeile, weil für diesen speziellen Begriff die Sequenznummer bei der ersten und letzten Zeile maximiert ist, weil die Sequenznummer bei sechs maximiert ist. Bild und Abfrage sind unten.Abfrage spezifisches Feld basierend auf max Sequenznummer
select ppd.sarappd_seq_no, ppd.sarappd_term_code_entry, ppd.sarappd_apdc_code,
dap. dap.saradap_term_code_entry,
spri.spriden_id,
t.sgbstdn_astd_code, t.*
from sgbstdn t
left join spriden spri on t.sgbstdn_pidm = spri.spriden_pidm
left join saradap dap on spri.spriden_pidm = dap.saradap_pidm
join sarappd ppd on dap.saradap_pidm = ppd.sarappd_pidm
where t.sgbstdn_astd_code not in ('AS', 'DS', 'WD', 'SU', 'LA')
and t.sgbstdn_stst_code = 'AS'
and spri.spriden_change_ind is null
and spri.spriden_id = '123456789'
and (ppd.sarappd_apdc_code = 25 or ppd.sarappd_apdc_code = 30
or ppd.sarappd_apdc_code =35)
and ppd.sarappd_term_code_entry = dap.saradap_term_code_entry
--where b.sarappd_term_code_entry = ppd.sarappd_term_code_entry)
order by ppd.sarappd_term_code_entry
Ich glaube, dies ist ein einfacher „, wo dies = (select max()) Art der Abfrage, aber ich habe ein paar verschiedene Dinge versucht und nichts funktioniert. Ich bin nicht immer die Ergebnisse ich will. Also mit dieser sagte, jede Hilfe zu diesem Thema wäre sehr dankbar. Vielen Dank im Voraus.
verwenden könnte können Sie Ihre Anfrage s machen implementieren? Zum Beispiel, können Sie die zusätzlichen Tabellen loswerden und tun Sie einfach eine Selbstabfrage und verwenden Sie SELECT XXX FROM YourTable WHERE APDC_CODE = (SELECT MAX (APDC_CODE) VON ...) UNION ALLE SELECT XXX FROM YourTable WHERE APDC_CODE = (SELECT MIN (APDC_CODE) FROM ...), um Ihren Code in etwas zu vereinfachen, das funktioniert. Fügen Sie dann die anderen Tabellen nacheinander hinzu. – Missy
Was ist das für rdbms? SQL Server, MySQL usw. – SQLChao
@Missy Ich werde versuchen, dies mehr zu tun, um zu sehen, ob ich etwas verpasst haben könnte. Ich hatte schon Tisch für Tisch angeschlossen ... und auch die Tische neu arrangiert, um das Problem auf andere Weise zu lösen. Aber ich werde sehen, was ich sonst mit – user1898629