"Unterabfrage hat mehr als 1 Wert" für das SELECT-Unterabfrage

Ich bin mit dem MS SQL Server Management Studio 2008. Ich habe ein Problem mit dem schreiben einer Unterabfrage. Dies ist die komplette Abfrage wie folgt:

SELECT DISTINCT 
    FH.ShipDate, AVG(FH.[Dist Freight]) AS [Atlantic Freight Charge], 
    (SELECT DISTINCT [Non-Atlantic Freight Charge]
     FROM 
         (SELECT DISTINCT 
              FH.ShipDate, AVG(FH.[Dist Freight]) AS [Non-Atlantic Freight Charge]
          FROM dbo.vw_FreightHistory AS FH
          WHERE VendorName != 'Atlantic Trucking'
          GROUP BY ShipDate, VendorName) AS [Non-Atlantic Freight Charge])
FROM dbo.vw_FreightHistory as FH
WHERE VendorName = 'Atlantic Trucking'
GROUP BY ShipDate, VendorName
ORDER BY ShipDate

Dem Thema erste kam, als ich Hinzugefügt, dass die zweite Unterabfrage. Die erste Unterabfrage kam nicht wieder irgendwelche Fehler, aber es zeigte die gesamte Durchschnittliche Summe von "Dist " Fracht" in jedem ShipDate record eher als der Durchschnitt für nur ShipDate. Ich schrieb die zweite Unterabfrage zu versuchen und zu beheben, aber jetzt bin ich immer diese Fehlermeldung:

Msg 512, Ebene 16, Status 1, Zeile 1

Unterabfrage hat mehr als 1 Wert. Dies ist nicht zulässig, wenn die Unterabfrage folgt =, !=, <, <= , >, >= oder wenn die Unterabfrage als Ausdruck verwendet.

Bitte lassen Sie mich wissen, wenn ich etwas verdeutlichen.

Könnten Sie zeigen die Struktur der Tabelle, die einige Daten und eine Erklärung von, was Sie versuchen zu tun? Wie der Zeitpunkt Ihrer Abfrage. Wie es aussieht, könnte es wohl neu geschrieben werden in einem einfachen Weg, wenn wir nur wüssten, was Sie wollen, es zu tun.
Nicht im Zusammenhang mit deiner Fehlermeldung, aber Sie zu sein scheinen, fehlt eine schließende Klammer.
Klammern sind in Ordnung, nichts fehlt
[Nicht-Atlantic Frachtkosten] return einige Ergebnisse. Sie haben gebaut, das Durchschnittliche pro-date, so dass, wenn Sie extrahieren Durchschnitt für heute und für morgen, Ihre DISTINCT [Non-Atlantic Frachtkosten] liefert 2 Ergebnisse.
es ist eine ziemlich große Tabelle, aber die Attribute, die ich versuche zu verwenden sind ShipDate, VendorName, und Dist Fracht. Im Grunde, was ich versuche zu tun, ist zeigen, ein trend der Durchschnitt "Dist Fracht -" Kosten für eine bestimmte VendorName und dann der Durchschnitt für alle anderen Anbieter, die in einer anderen Spalte. Die Ausgabe soll drei Spalten: jede einzelne ShipDate, die durchschnittlichen Frachtkosten für die Anbieter Ein an diesem Tag, und die durchschnittlichen Frachtkosten für alle anderen Anbieter.

InformationsquelleAutor Martin | 2013-07-19

Schreibe einen Kommentar