Ich frage mich, wie ich die letzte Iteration eines Feldes in meinen Ergebnissen abfragen kann. Zum Beispiel schreibe ich eine Abfrage, die mir diese Liste von IDs zurückkehren würde:Wie kann ich nur die letzte Iteration abfragen?
132GBD00
132GBD01
59RTW900
59RTW901
59RTW902
376BH200
376BH201
376BH202
376BH203
5789DD00
ich die Abfrage möchte dieses Ergebnis zurück:
132GBD01
59RTW902
376BH203
5789DD00
Beachten Sie, dass die ähnlichen IDs
abweichen nur in den letzten zwei Zeichen. 00 ist das Original und 01, 02, usw. kommt danach.
SELECT memid
FROM MEMBERID
WHERE MEMBERID = ???
Die Tabelle hat Termine, aber ich kann nicht von einem max(date)
für verschiedene memid
und Filter suchen, weil manchmal der letzte Wiederholung Zeitpunkt NULL ist: Wenn ich eine Abfrage wie schreiben. Ich versuche zu sehen, ob es möglich ist, eine Liste von IDs zu suchen und nach den letzten zwei Zeichen in der ID zu filtern, um zu sehen, welche größer ist und das zurückgeben.
Dies ist ein Hinweis auf ein falsches Design. Sie drängen zwei Werte in ein einzelnes Tupel, das gegen 1NF verstößt und eine ernst zu nehmende PITA ist. Sie können hier ROW_NUMBER verwenden, aber Sie müssen nach einer Teilzeichenfolge partitionieren. –
Wahrscheinlicher Tippfehler: 'VON MEMBERID' und' WHERE MEMBERID = ??? 'ist ziemlich seltsam. Ein Tabellenname an beiden Stellen? – HABO