Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

letzte Spalte ermitteln

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von IchHH, 15 Juni 2017.

  1. IchHH

    IchHH Datenbank-Guru

    Hallo,

    kann mir jemand sagen wie man die letzte Spalte einer Tabelle ermitteln kann?

    Danke im voraus.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    ich vermute mal, auch MSSQL hat ein information_schema:

    Code:
    select column_name, ordinal_position from information_schema.columns where table_name = 'your_table' order by ordinal_position desc limit 1;
    
     
  3. IchHH

    IchHH Datenbank-Guru

    Falsche Syntax in der Nähe von 'limit'. <- das sagt mir das System

    Wo sehe ich das Information_schema?
     
  4. akretschmer

    akretschmer Datenbank-Guru

  5. IchHH

    IchHH Datenbank-Guru

    Feiner Sache. Warum ich aber den Fehler bekommen, ergibt sich daraus nicht.
     
  6. IchHH

    IchHH Datenbank-Guru

    Habe es. Das Limit 1 muss weg und hinter select ein TOP 1 und dann klappt es und ich habe das gewünschte Ergebnis.
     
  7. akretschmer

    akretschmer Datenbank-Guru

    ok, LIMIT ist nicht Teil der SQL-Spec und in M$SQL anders realisiert. Google kennt die Details.
     
  8. IchHH

    IchHH Datenbank-Guru

    Nun habe ich den Spaltennamen. Wie kann ich aber auch die Werte dieser Spalte plus die Spalte Kontenart auslesen?
     
  9. akretschmer

    akretschmer Datenbank-Guru

    Öhm. Via SELECT?
     
  10. IchHH

    IchHH Datenbank-Guru

    Aber das ist doch schon eine Select abfrage.

    Und Select in Select funktioniert nicht. Damit meinte ich so funktioniert es nicht:
    Code:
    Declare @Spalte varchar(1000),
            @query Varchar(1000)
    
    Set @spalte = (select Top 1  column_name, ordinal_position
    from information_schema.columns where table_name = 'S_92620'
    order by ordinal_position desc)
    
    Set @query = 'Select Kontenart, tmp, [' + @spalte + '] FROM         dbo.tmp INNER JOIN
                          [DOM1\20-DIAS].S_92620 ON [DOM1\20-DIAS].[tmp].Kontenart = [DOM1\20-DIAS].S_92620.Kontenart'
    EXEC(@query)
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden