Aktualisierung der Spalte mit Wert aus anderen Tabelle, kann keine eindeutige Funktion

Aktualisierung der Spalte mit Wert aus anderen Tabelle, kann keine eindeutige Funktion

Meine ursprünglichen Daten in Tabelle2. Ich Tabelle1 erstellt von Grund auf neu. Ich besiedelten Spalte A so:

INSERT INTO Table1("item")
SELECT DISTINCT(Table2."item")
FROM Table2

Ich aufgefüllt "Tabelle1".Die Summen (Spalte B) wie diese:

UPDATE Table1
SET totals = t2.q
    FROM Table1 INNER JOIN
    (
        SELECT t2."item"
        , SUM(t2.quantity) AS q
        FROM t2
        GROUP BY t2."item"
    ) AS t2
    ON Table1."item" = t2."item"

Wie kann ich Auffüllen "Tabelle1"."Datum"? Mein UPDATE oben funktioniert hier nicht, weil ich nicht verwenden können Sie eine Aggregatfunktion auf ein Datum. Ich war in der Lage, die Ergebnisse wollte ich mit dem folgenden code in einer separaten Abfrage:

SELECT DISTINCT Table1."item"
, Table2."date"
FROM Table1 INNER JOIN Table2
ON Table1."item" = Table2."item"
ORDER BY Table1."item"

Aber wie verwende ich die Ergebnisse dieser Abfrage, um den Wert von der Spalte? Ich bin mit SQL Server 2008.

  • Welches Datum Sie wählen sollten, wenn es mehr als eine?, warum können Sie nicht verwenden, eine Aggregat-Funktion auf eine Spalte Datum?
  • Sie müssen erklären, welche Datum, das Sie möchten. Es gibt keine() oder WILLKÜRLICH() Funktion in T-SQL. Was passiert, wenn Orange hat zwei verschiedene Termine?
  • Auch, bitte nicht setzen Sie doppelte Anführungszeichen um Spaltennamen. Das macht es so schwer zu Lesen und stützt sich auch auf QUOTED_IDENTIFIER Einstellungen.
InformationsquelleAutor eek142 | 2012-02-07
Schreibe einen Kommentar