SQL & Datenbankprogrammierung
Von: Ρtоnkа, 12.1.2012 13:44 Uhr
Liebe/-r Experte/-in,
ich habe folgende Frage:
Ich nutze eine oracle-DB und möchte dort einen View kreieren, der zwei Daten aus einer Tabelle in einem Feld zusammenführt.
Beispiel:
In der Tabelle "Anschrift" existieren ca. 15.000 Datensätze und es gibt u.a. 2 Spalten "Name" und "Vorname", die mit Daten wie Müller, Meier, Schulze bzw. Max, Gerd oder Uli gefüllt sind.
Ich möchte nun in einem View auf diese Tabelle Name und Vorrname in einer Spalte "Gesamtname" stehen haben. In diesen Datenfeldern soll dann z.B. "Müller, Max" oder "Meier, Gerd" oder "Schulze, Uli" stehen.
Ich hoffe, ich habe mich verständlich ausgedrückt.
Mit welcher SQL-Syntax bekomme ich das hin?
Danke im Voraus.



  1. Re: Daten im View zusammenfassen
    Hallo,

    letztlich ist eine VIEW nur ein Select-Statement, das als Sub-Select eingebunden wird. Daher würde hier vermutlich die Syntax zum verbinden (Concat) von zwei Spalten reichen, richtig?

    Beispiel:
    SELECT 'hans' As Vorname, 'mustermann' As Nachname FROM dual;

    -->
    'HAN 'MUSTERMAN
    ---- ----------
    hans mustermann

    Beispiel mit Verkettung:
    SELECT 'hans'||', '||'mustermann' AS Ganzername FROM dual;


    Viele Grüße
    PilleSoft GmbH
    • Antwort von kеѕѕіе01 0
      Re: Daten im View zusammenfassen
      hallo, das ist recht simpel:

      select Name || "," || Vorname, Strasse ........ usw

      LG kessie
      • Antwort von Lаrѕ Ηеllеr 0
        Re: Daten im View zusammenfassen
        Hallo,

        ein
        select name || ', ' || vorname from anschrift

        sollte es tun.

        Das ganze können sie natürlich auch in eine eigene View packen.

        Wenn Sie dazu noch fragen haben lassen Sie es mich wissen.

        Sonnige Grüße,
        Lars Heller
        • Antwort von Ејkо 0
          Re: Daten im View zusammenfassen
          Hi,

          in MS SQL würdest du in der Viewdefinition einfach ein zusammengesetztes Feld erstellen:
          create view VW_Anschrift as
          select
          *,
          Name + ' ' + Vorname as Nachname_Vorname
          from Anschrift

          In Oracle-SQL dürfte es genauso gehen.

          Gruß
          Erich
          • Re: Daten im View zusammenfassen
            Hier ein Beispiel:


            create table testnamen (
            name nvarchar2(50),
            vorname nvarchar2(50));

            insert into testnamen (name, vorname) values('Meier', 'Hugo');
            insert into testnamen (name, vorname) values('Schulze', 'Rainer');
            insert into testnamen (name, vorname) values('Hoffmeister', 'Barbara');

            commit;

            create view v_namen ( gesamtname ) as
            select name || ', ' || vorname gesamtname
            from testnamen;

            select gesamtname from v_namen;


            --- um alles wieder loszuwerden View und Tabelle dropen

            --drop view v_namen;
            --drop table testnamen;
            • Antwort von Τоmһ 0
              Re: Daten im View zusammenfassen
              Meinst Du sowas:

              select name||', '||vorname as gesamtname from anschrift;

              Bitte,
              Tomh
              • Antwort von Gеоrg V. 0
                Re: Daten im View zusammenfassen
                Hallo Ptonka,

                Du suchst die Verbindung von zwei Strings mittels || .

                [code]
                CREATE VIEW nnvn_tabelle AS
                SELECT Name || ', ' || Vorname as Gesamtname
                FROM tabelle
                ;
                [/code]

                MfG Georg V. Ich nutze eine oracle-DB und möchte dort einen View kreieren,
                der zwei Daten aus einer Tabelle in einem Feld zusammenführt.
                • Antwort von Rüdіgеr Quааѕ (abgemeldet) 0
                  Re: Daten im View zusammenfassen
                  Hallo,

                  das ist ziemlich leicht

                  Create View Viewname as
                  Select Trim(Nachname) || ', ' || Trim(Vorname) as Gesamtname from Anschriften;
                  • Re: Daten im View zusammenfassen
                    Hallo,

                    bin mit Oracle nicht sehr vertraut, aber folgendes sollte auch dort funktionieren:

                    create view fnameview (gesamtname) as select concat(concat(trim(name), ", "), trim(vorname)) from anschrift;

                    Test:
                    select * from fnameview;

                    Gruß
                    Erhard ich habe folgende Frage:
                    Ich nutze eine oracle-DB und möchte dort einen View kreieren,
                    der zwei Daten aus einer Tabelle in einem Feld zusammenführt.
                    Beispiel:
                    In der Tabelle "Anschrift" existieren ca. 15.000 Datensätze
                    und es gibt u.a. 2 Spalten "Name" und "Vorname", die mit Daten
                    wie Müller, Meier, Schulze bzw. Max, Gerd oder Uli gefüllt
                    sind.
                    Ich möchte nun in einem View auf diese Tabelle Name und
                    Vorrname in einer Spalte "Gesamtname" stehen haben. In diesen
                    Datenfeldern soll dann z.B. "Müller, Max" oder "Meier, Gerd"
                    oder "Schulze, Uli" stehen.
                    Ich hoffe, ich habe mich verständlich ausgedrückt.
                    Mit welcher SQL-Syntax bekomme ich das hin?
                    Danke im Voraus.
                    • Antwort von Rоbеrt Ρоllаі 0
                      • Antwort von Αlеx 0
                        Re: Daten im View zusammenfassen
                        Hi!

                        name || ', ' || vorname

                        sollte helfen. Ansonsten einfach mal eine Suchmaschine benutzen...
                        • Antwort von mаfа 0
                          Re: Daten im View zusammenfassen
                          Hi,

                          also mit Oracle kann ich dir nicht dienen, wird aber wohl kaum einen Unterschied zu MSSQL machen.

                          Mach doch einfach...

                          CREATE VIEW anschriften AS
                          SELECT a.vorname, a.nachname, ISNULL(a.vorname + ',') + ISNULL(a.nachname, '') AS NameKombiniert FROM tbl_anschriften AS a

                          ...kein Problem ;)


                          Aber mit Sichten und großen Datenmassen wäre ich vorsichtig. Wenn du dann anfängst sichten zusammen zu Joinen wirds/kann es schnell langsam werden.
                          • Antwort von Wоlfgаng 0
                            Re: Daten im View zusammenfassen
                            Hi,

                            bin jetzt kein Oracle-Spezl aber das sollte so gehen:

                            Select Name||' '||Vorname from ....
                            • Antwort von сооkү1976 0
                              Re: Daten im View zusammenfassen
                              gerade keine Zeit für eine detaillierte Antwort.