Ich komme nicht weiter. Ich möchte Dubletten eines Teilstrings finden.
Tabellenstruktur:
articles_pk bigint (Primärer Schlüssel)
article_number character varying(128)
Die Spalte article_numer ist immer einzigartig und besteht aus dem Lieferanten (7 Ziffern) und der Lieferanten-Artikelnummer (6 Zifern). Um ein Fehler in einer Software zu analysieren, brauche ich eine Liste mit doppelten Lieferanten-Artikelnummern. Unabhängig vom Lieferanten. Das darstellen der Liste mit den Lieferanten-Artikelnummern selber ist kein Problem.
SELECT "article_number",SUBSTRING("article_number",8) AS lartnr,"description" FROM "public"."articles" WHERE "article_number";
Ich habe es schon wie folgt erfolglos versucht:
SELECT "article_number",SUBSTRING("article_number",8) AS lartnr FROM "public"."articles" GROUP BY "article_number" HAVING (COUNT(SUBSTRING("article_number",8)) > 1)
Dopplelt im Sinne gleicher Substring von 8, 6 Zeichen (Lieferanten-Artikelnummer doppelt):
test=*# with doppelt as (select substring(article_number,8,6) from matsahm group by substring(article_number,8,6) having count(*) > 1) select * from matsahm, doppelt where substring(article_number,8,6) = doppelt.substring;
article_number | substring
----------------+-----------
1111111123456 | 123456
2222222123456 | 123456
(2 rows)
Da brauche ich nicht drüber nachdenken
Ist die Datenbank einer Software. Und ich habe offiziell kein Zugang bekommen. Aber die Passwörter langen in Klartext auf dem Server in den Configs. Somit habe ich den Zugang irgendwie schon bekommen. Aber ich kann da nicht mal eben das Datenbankkonzept (welches Konzept?) umstellen… So gerne ich es auch wollte.