![]() |
tricky SQL
Hallo,
hat vielleicht einer von euch eine Idee dazu? Gegeben sei eine Tabelle, die folgendermaßen aussieht: create table gdwh_columns ( table_name varchar(30) not null, column_name varchar(30) not null ) Records darin sehen folgendermaßen aus: table_name (column_name) TB0_ACCOUNT (ACCOUNT_ID) TB0_ACCOUNT (UNID) TB0_ACCOUNT (REF_ACCOUNT_ID) TB0_ACCOUNT (ACCOUNT_TYPE) TB0_ACCOUNT (PRODUCT_TYPE_SUBTYPE) TB0_CURRENCY_MARKET (UNID) TB0_CURRENCY_MARKET (UNID) TB0_CURRENCY_MARKET (CURRENCY_MARKET_DESCRIPTION) TB0_CURRENCY_MARKET (CURRENCY_MARKET_ID) und so weiter. Jetzt brauche ich ein SQL, dass mir die Inhalte der column_name Spalte zerlegt und eine Zählung der Teile vornimmt. Also, das Ergebnis sollte so aussehen: part count(*) ACCOUNT 3 UNID 3 ID 3 REF 1 TYPE 2 SUBTYPE 1 CURRENCY 2 MARKET 2 DESCRIPTION 1 Die Anzahl der Attribute in der Tabelle sind etwa 8000, Trennzeichen zum aufsplitten ist immer der "_" (Underscore). Hintergrund ist, dass ich ein Abkürzungsverzeichnis, bzw. ein Glossary anlegen will, an dem man sich für neue Felder orientieren kann. |
Hallo Bizeps!
Ich versteh Dein Beispiel nicht ... Erklär mir mal bitte warum TB0_ACCOUNT (ACCOUNT_ID) das hier ACCOUNT 3 ergeben soll ... Ich checks nicht ... LG Joerg |
Mir fällt zwar für die DBs, die ich kenn, keine Variante ein, aber es
fragt sich natürlich welche Datenbank du verwendest? @Joerg: Er will die Spaltennamen nach _ aufsplitten (dh. ACCOUNT_ID gibt Wert ACCOUNT und ID) und dann die Anzahl der gesplitten Werte ermitteln. (Dh. wie oft kommt ACCOUNT, wie oft ID, wie oft UNID, usw. vor). |
Was spricht dagegen das in der Programmiersprache deiner Wahl zu erledigen? In php geht das z.B. mit explode() sehr flott, und ich vermute das es auch in anderen Sprachen einfach geht.
In php: Code:
$stringcounts = array; |
Zitat:
Für die mir bekannen SQL Dialekte sehr ich da ebenfalls keine Chance ... LG Joerg |
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag