Announcement

Collapse
No announcement yet.

suche Hilfe zu einer Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • suche Hilfe zu einer Abfrage

    --die Daten--
    <PRE>
    DECLARE @DATA integer
    SET @DATA=@@IDENTITY
    SELECT S.FIELD1 FROM S WHERE S.FIELD2 = -1
    SELECT (@DATA, 2, 1)
    </PRE>

    die erste Abfrage gibt ein Ergebnis mit 3-5 Werten zurück zum Beispiel hier
    <PRE>
    S.FIELD1
    --------
    20
    1256
    3
    </PRE>

    die zweite Abfrage gibt dieses Ergebnis zurück
    <PRE>
    ----------
    78 | 2 | 1
    </PRE>

    Nun benötige ich aber folgenes Ergebnis aus beiden oberen Abfragen zusammen um dieses dann mit der INSERT...SELECT Anweisung in eine Tabelle einzutragen

    dieses Ergebnis möchte ich haben
    <PRE>
    | S.FIELD1 | |
    ------------------------------
    78 | 20 | 2 | 1
    78 | 1256 | 2 | 1
    78 | 3 | 2 | 1
    </PRE>

    gibt es eine Möglichkeit wie ich beide Abfragen so zusammenfügen kann, dass es dieses Ergebnis gibt ODER eine Möglichkeit wie ich zu dem Ergebnis aus der ersten Abfragen statische Daten hinzufügen kann

  • #2
    Hallo,

    das sollte auch in einem Aufruf gehen:

    Test-Tabelle:
    <pre>
    CREATE TABLE TestTbl (
    RecID INTEGER NOT NULL IDENTITY PRIMARY KEY,
    Field1 INTEGER NOT NULL,
    Field2 INTEGER NOT NULL DEFAULT -1)
    GO
    </pre>
    Batch-Anweisung wird zusammen ausgeführt:
    <pre>
    INSERT INTO TestTbl (Field1) VALUES (30)
    SELECT @@IDENTITY, t.FIELD1, 2, 1 FROM TestTbl t WHERE t.FIELD2 = -1
    </pre>
    Ergebnis:
    <pre>
    FIELD1
    ---------------------------------------- ----------- ----------- -----------
    2 30 2 1
    </pre>
    Das Ganze kann auch direkt in eine Zieltabelle eingetragen werden:
    <pre>
    CREATE TABLE ZielTabelle (
    RecID INTEGER NOT NULL PRIMARY KEY,
    Field1 INTEGER NOT NULL,
    Field2 INTEGER NOT NULL,
    Field3 INTEGER NOT NULL)
    GO
    </pre>

    <pre>
    INSERT INTO ZielTabelle SELECT @@IDENTITY, t.FIELD1, 2, 1 FROM TestTbl t WHERE t.FIELD2 = -1
    </pre>

    Comment


    • #3
      jetzt wo es so da-steht ist es recht einleuchtend

      Danke für die ausführliche Antwort , das hat mir sehr weitergeholfen

      Comment

      Working...
      X