0

異なるバージョンのテーブルの同じフィールドの違いを見つける必要がある場合があります。

例:
次のようなフィールドを持つBankAccountというテーブルがあります

acount_no、balance、dateなど。

ここで私が達成したいのは、基本的に2つの異なる日付に対してこのテーブルで選択を実行し、日付1と日付2の残高フィールド値の違いを見つけることです。

もっと好き: a.balance - b.balance as balance_difference

私は、1つを分離基準として使用して、2つの選択を実行できます。ここで、少なくとも2つの日付の間の共通のレコードを取得します。私の問題は、これまでこれを行ったことがなく、他のオンラインソースから多くを理解または収集することができなかったため、違いを見つけて基準に「エイリアス」を使用することです。
どんな助けでも大歓迎です、そして前もってすべてに感謝します。

4

1 に答える 1

0

私の理解によると、あなたが達成したいことはhql次のようなものです

select (coalesce(case when a.date=?1 and a.account_no=?3 then a.balance end), 0) - coalesce(case when a.date=?2 and a.account_no=?3 then a.balance end), 0) AS balance_difference from BankAccount a
于 2013-03-11T11:09:57.120 に答える