SELECT String mit einer Funktion aufbauen

Useful code snippets and help for problems with Velocity-/Java-Script Code

SELECT String mit einer Funktion aufbauen

Postby WernerMaerkl » 04 Sep 2013, 15:49

Häufig hat man im Designer eine Abfrage über mehrere Tabellen, die man verknüpft um dann einzelne Spalten davon anzuzeigen.

Z.B.
Code: Select all
SELECT
  A.*, B.*
FROM  
  TableA AS A
INNER JOIN
  TableB AS B
ON A.ID = B.ID
 

Haben die Tabellen jeweils sehr viele Spalten und möchte man nur einige davon anzeigen bedeutet das viel Schreibarbeit, da der *-Operator immer alle Spalten auswählt. Nicht so mit RapidRep. Wir verwenden eine Funktion #prefixColumns mit drei Parametern:
$alias:String, $columnNames:String, $prefix:String

Die Funktion sieht wie folgt aus:

Code: Select all
#set( $columnList = $columnNames.split(','))

#foreach($e in $columnList)
 ${alias}.$e.trim() AS $prefix$e.trim()#if($velocityHasNext),#endif
#next


Der Aufruf von oben könnte dann wie folgt aussehen:
Code: Select all

SELECT
#prefixColumns( 'A', 'a list of comma separed columns', 'A_' )
,
#prefixColumns( 'B', 'a list of comma separed columns ', 'B_' )
FROM
  TableA as A
INNER JOIN
  TableB as B
 


Der Databasebrowser, der sich im Designer auf der rechten Seite auf- und zuklappen lässt erspart einem das Abtippen der Spalten. Einfach in der jeweiligen Tabelle (TableA oder TableB) die gewünschten Spalten selektieren und per copy&paste in das Body-element ziehen. Die Spaltennamen werden dabei durch Kommas separiert und können in der Funktion #prefixColumns als zweiter Parameter verwendet werden.

Fertig.

Das Beispiel kann man noch ein einigen Stellen erweitern, ist aber schon jetzt überaus nützlich und spart viel Tipparbeit.
WernerMaerkl
 
Posts: 21
Joined: 05 Oct 2012, 09:52

Re: SELECT String mit einer Funktion aufbauen

Postby jclassen » 19 Apr 2017, 18:25

Anmerkung: Ab RapidRep 5.7 lässen sich Alias/Prefix/Suffix noch deutlich praktischer zu den Spaltennamen hinzufügen:

Einfach im Database-Browser, der sich im Designer auf der rechten Seite auf- und zuklappen lässt, die gewünschten Spalten markieren, per Drag & Drop in eine Funktion, ein Skript oder ein SQL-Editor Tab ziehen und mit STRG gedrückt loslassen.

Daraufhin öffnet sich ein kleiner Dialog, der es ermöglicht Alias/Prefix/Suffix für die ausgewählten Spalten anzugeben.
jclassen
 
Posts: 16
Joined: 19 Apr 2017, 16:34

Re: SELECT String mit einer Funktion aufbauen

Postby Pagaresav » 10 Sep 2019, 10:36

Thanks for this grateful information!!!
Pagaresav
 
Posts: 1
Joined: 10 Sep 2019, 10:31


Return to Developers Corner



Who is online

Users browsing this forum: No registered users and 1 guest

cron