1
マイSales.Customer
表は、以下の列を含むクエリを取得する:サブクエリは
- 得意(整数)
- 姓(NVARCHAR(50))
- 氏名(NVARCHAR(50))
私Sales.SalesOrder
テーブルには、次の列が含まれています
- SalesOrderNumber(整数)
- 受注日(日)
- 得意先(整数)
- 金額(金)
一部のお客様には、数年の期間にわたって複数の注文を配置しています。私は、各顧客が注文した上で最後の日付を取得するために、次のクエリを書いている:
SELECT c.CustomerID, c.FirstName, c.LastName,
-- correlated subquery goes here
AS LastOrderDate
FROM Sales.Customer AS c;
なぜ私のサブクエリは、私の実際のクエリを完了していないのですか?私は何かを逃しているのですか、それとも違うはずですか?
(SELECT MAX(o.OrderDate)
FROM Sales.SalesOrder AS o
WHERE o.CustomerID = c.CustomerID)
私は私のソリューションが複雑すぎるかもしれないと考えていたので、代わりにこれが機能するはずですか?
(SELECT MAX(c.OrderDate)
FROM Sales.Customer AS c)
「mysql」または「sql-server」はどちらですか? – Blorgbeard
お詫び申し上げます、それはsql-server、trans-sqlです。私はちょうどmysqlのタグを入れてみると、より多くのユーザーに表示されると思っていました。それは確かに評判に影響を与えるので、私はすぐにそれを削除します。 – jrodden
OK。 「サブクエリが実際のクエリを完了しないのはなぜですか?」という意味が理解できません。最初のサブクエリはうまくいくはずです(2番目ではありません)。 – Blorgbeard