Jump to content

hupe__x

Members
  • Gesamte Inhalte

    1
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von hupe__x

  1. Hallo zusammen,
    ich habe 2 SQL Tabellen, aus denen ich Daten zu einer Tabelle vereinen muss
     

    Tabelle 1

    ==============================
    FileID      | ModId

    --------------------------------------

    123456   | 201700033 

    234567   | 201700121

    345678   | 201700092

     

     

    Tabelle 2

    ==============================
    ModId           | Name     | Value

    --------------------------------------

    201700033   | Nr           | 123

    201700033   | Name     | Test1 GmbH

    201700033   | eMail      | info@test1.de

    201700033   | PLZ        | 44444

    201700121   | Nr           | 234

    201700121   | Name     | Test2 AG

    201700121   | eMail      | info@test2.de

    201700092   | Nr           | 345

    201700092   | Name     | Schröder UG

    201700092   | eMail      | info@test3.de

    201700092   | Ort          | Testhausen

    201700092   | Telefon   | 0815 4711

     

    In Tabelle1 wird eine eineindeutige FileId mit einer internen ID Verknüpft.

    In Tabelle 2 gibt es zu jeder ModId diverse Indexwerte. Die Beschreibung/Überschrift des Indexwertes steht und Spalte "Name" und der zugehörige Wert in Value.

     

    Ich muss nun versuchen eine View zu erzeugen, die mir gewünschte Feldwerte mit der FileId verknüpft und einen Datensatz zurück bringt.

    Ich möchte z.B. nur Nr, Name und eMail aus allen möglichen Feldern zurück erhalten.

     

    FileId      | Nr   | Name               |eMail

    -----------------------------------------------------------------------

    123456   | 123 | Test1 GmbH    | info@test1.de

    234567   | 234 | Test2 AG         | info@test2.de

    345678   | 345 | Test3 UG         | info@test3.de

     

     

    Ich habe es wie folgt versucht, aber versage bei jeglichem Ansatz einen Wert aus dem System zu bekommen.

     

    with FieldNames as (
        select 'Nr' union all
        select 'Name' union all
        select 'eMail' union all
    )
    select
        File.id AS 'FileId',
        Field.Name,
            (case when exists (select Field.Value
                from FieldNames FN
                where Field.Name like '%'+FN.Field+'%')
            end) 
    FROM
        file AS File,
        field AS Field
    WHERE
        AND field.modid = file.modid
    GROUP BY 
        File.id
    
    

    Gruß

    hupe

     

     

     

×
×
  • Neu erstellen...