AccessとMySQLでは正常に動作するかなり複雑なクエリがありますが、MS SQLでは動作しません。 「キーワード 'ORDER'の近くに構文が正しくない」というメッセージが表示されます。このクエリの目的は、最初に迅速な出荷(「USPS Express」)を使用して上位100件の注文を取得することです。このサブクエリが失敗するのはなぜですか?
SELECT *
FROM ( SELECT
TOP 100 o.orderid
, (
select 1
from orders
where orderid = o.orderid
and oshipmethod = 'USPS Express'
) as ship_priority
FROM orders o
WHERE o.order_status = 10
)
ORDER BY ship_priority DESC
このクエリが失敗する明白な理由はありますか?
インナーTOPはありません。対応するORDER BY句正確にどのTOP100行が期待していますか? –
私は、なぜ彼らが使用しているSQL Serverのバージョンがそのような守られた秘密であるべきだと人々が思うのか分かりません。それはしばしばソリューションの重要な部分です。 –
良いキャッチアロン、私はそれが属している外側の選択にTOP 100を移動 – rhall