Hallo,
ich muss für einen kranken Kollegen ein Skript ändern, dessen SQL Aufruf nicht verstehe.
Das letzte mal, dass ich SQL genutzt habe dürfte um 2003 gewesen sein, wo ich recht simple Aufrufe genutzt habe (Select, Update, Insert)
Eingebettet ist das ganze in ein Shellskript (Bash). Meine Unix Tage sind auch schon etwas her, aber grundsätzliche verstehe ich was das Skript selber macht.
An dem SQL Teil beiße ich mir aber jetzt schon seit 2 Tagen die Zähne aus. Es werden eine Menge Befehle genutzt, die ich einzeln verstehe, wie z.B. Concat, aber in seiner Zusammensetzung verstehe ich es nicht.
echo "column TREFFER format A1000" >> $SQL_SCRIPT
echo "select " >> $SQL_SCRIPT
echo "WMSYS.WM_CONCAT(distinct 'TREFFER='||wf.SUBMIT_DATE||'|'||wf.form_id||'|'||wf.SITEKEY)||'|'||" >> $SQL_SCRIPT
echo "WMSYS.WM_CONCAT(CASE WHEN PKEY='gender' THEN PVALUE END)||'|'||" >> $SQL_SCRIPT
echo "WMSYS.WM_CONCAT(CASE WHEN PKEY='givenname' THEN PVALUE END)||'|'||" >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘surname’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘email’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘customercode’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘company_ku’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘reference_number’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘training_id’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘seminar_title’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘seminar_place’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘datum_start’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘datum_end’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo “WMSYS.WM_CONCAT(CASE WHEN PKEY=‘targetGroup’ THEN PVALUE END)||’|’||” >> $SQL_SCRIPT
echo "WMSYS.WM_CONCAT(CASE WHEN PKEY=‘contentUri’ THEN PVALUE END)||’|’ as TREFFER " >> $SQL_SCRIPT
echo "from m_webform_data wfd1 " >> $SQL_SCRIPT
echo "JOIN M_WEBFORM wf ON wfd1.form_id = wf.form_id" >> $SQL_SCRIPT
echo "AND wf.NAME = 'CM9_training_registration_WSD'" >> $SQL_SCRIPT
echo "group by wfd1.FORM_ID order by wfd1.FORM_ID;" >> $SQL_SCRIPT
Ich habe versucht die einzelnen Teile in ein SQL Statement umzuwandeln um mehr durchblick zu bekommen, bin aber völlig überfordert und finde keinen Punkt wo ich ansetzten kann.
Um ehrlich zu sein, weiß ich nicht mal wie ich erklären kann woran ich scheitere…
Mit den besten Grüßen,
Andrés