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

Doppelter SELECT beim INSERT INTO

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von SQL Rookie, 22 August 2017.

  1. SQL Rookie

    SQL Rookie Benutzer

    Hallo zusammen,

    ich habe leider Schwierigkeiten bei der Anwendung des INSERT INTO über SELECT-Statements.

    Ich benötige aus 2 Tabellen einen jeweils MAX Wert + 1 und will diese in eine 3 Tabelle einfügen.

    Mit einem Wert funktioniert es einwandfrei

    INSERT INTO T3 (Column 1)
    SELECT MAX(Wert1) + 1 FROM T1

    Bei Aufnahme des zweiten SELECTs entsteht mein Problem

    INSERT INTO T3 (Column 1, Column2)
    SELECT MAX(Wert1) + 1 FROM T1,
    SELECT MAX(Wert2) + 1 FROM T2

    Bei Ausführung des Befehls erscheint die Meldung:

    Meldung 156, Ebene 15, Status 1, Zeile 3
    Falsche Syntax in der Nähe des SELECT-Schlüsselworts.

    Gemeint ist hier wohl in der Nähe des zweiten SELECTs

    Danke schon mal im voraus für eure Hilfe

    Gruß Thomas
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Code:
    test=*# create table t1 ( i int);
    CREATE TABLE
    test=*# create table t2 ( i int);
    CREATE TABLE
    test=*# create table t3(t1 int, t2 int);
    CREATE TABLE
    test=*# insert into t3(t1,t2) values ((select max(i) from t1), (select max(i) from t2));
    INSERT 0 1
    
     
  3. SQL Rookie

    SQL Rookie Benutzer

    Vielen Dank akretschmer,

    Knackpunkt war dann wohl, dass das Schlüsselwort VALUES ab dem zweiten SELECT dann doch wieder eingesetzt werden muss, bei Berücksichtigung
    der richtigen Klammersetzung der SELECTs.

    Funktioniert einwandfrei.

    Daumen hoch
     
    akretschmer gefällt das.
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