Hallo,
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)
Leider ohne Ergebnisse. Was mache ich falsch?
Vielen Dank im Vorraus,
matsahm
Angebommen, Du hast:
test=*# select * from matsahm ;
article_number
----------------
1111111123456
1111111234567
1111111345678
2222222123456
(4 rows)
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)
paßt das soweit?
VIELEN DANK!
Das hat geklappt:
SELECT substring(a1.article_number,8) AS lartnr
FROM public.articles a1
GROUP BY substring(a1.article_number,8)
HAVING count(*) > 1;
Nach lartnr musste ich nur das Komma entfernen.
Gruß
matsahm
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.