Ich möchte eine Tabelle erstellen, um Ergebnismenge einer anderen Abfrage zu speichern.Wie erstellt man eine Tabelle mit Ergebnismenge in SQL-Server
Ich habe dies versucht:
create table avgcost_product (
name varchar(50),
productnumber varchar(50),
averagecost money
)
Nach Tabelle erstellt habe ich versucht, diese Abfrage:
INSERT into avgcost_product SELECT * FROM
(SELECT p.[Name], p.ProductNumber,
CONVERT(varchar, cost.AvgCost,1) as 'Average Cost'
FROM Production.Product p
CROSS APPLY fnGetAvgCost(p.ProductID) as cost
WHERE cost.AvgCost IS NOT NULL
ORDER BY cost.AvgCost desc)
Aber es zeigt Fehler wie:
Msg 1033, Ebene 15, Status 1, Linie 284
Die ORDER BY cl ause ist in Views, Inline-Funktionen, abgeleiteten Tabellen, Unterabfragen und allgemeinen Tabellenausdrücken ungültig, es sei denn, TOP, OFFSET oder FOR XML werden ebenfalls angegeben.
Wie kann ich Daten schreiben, die ich in meiner Tabelle brauche?
Ja, es ist Ihnen zu sagen, dass das 'ORDER BY' sinnlos ist. Tabellen ** haben keine inhärente Reihenfolge. –