sql >> データベース >  >> RDS >> Sqlserver

SQL Server Compact Editionでこのクエリを実行するにはどうすればよいですか?

    たとえば、現在の行と前の行のデータを使用する計算列を含める必要がある場合など、サブクエリを回避できない場合があります。たとえば、次のクエリについて考えてみます。

    SELECT     
         (Current.Mileage - Last.Mileage)/Quantity as MPG
    FROM         
         GasPurchases AS Current
         LEFT OUTER JOIN GasPurchases AS Last
         ON Last.Date =
            (SELECT MAX(PurchaseDate)
            FROM GasPurchases
            WHERE PurchaseDate < Current.PurchaseDate)
    

    解析エラーが発生します:

    このスレッドを見つけました 回避策があるMSDNで。サブクエリを変更して、スカラー値ではなくセットを返すようにすることで、次のクエリを保存して実行することができました。

    SELECT     
         (Current.Mileage - Last.Mileage)/Quantity as MPG
    FROM         
         GasPurchases AS Current
         LEFT OUTER JOIN GasPurchases AS Last
         ON Last.Date IN
            (SELECT MAX(PurchaseDate)
            FROM GasPurchases
            WHERE PurchaseDate < Current.PurchaseDate)
    


    1. SQL Server ODBCドライバーをアップグレードしましたが、パフォーマンスに悪影響がありました。私に何ができる?

    2. AzureFunctionsでPostgreSQLに接続するためのアクセストークンを取得する

    3. Oracle:関数で複数の値を返す

    4. Heroku:PG ::ConnectionBad:サーバーに接続できませんでした:接続が拒否されました