teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

書式の改善

2020/01/15 04:14

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
  ---
21
21
  「最新の金額と一つ前のレコードの金額を比較したい」の「最新」を読み飛ばしていました。
22
- 名称毎の最新の金額と一つ前のレコードの金額を表示したいということなら、下記のようにWHERE句を追加してください。
22
+ **名称毎**の最新の金額と一つ前のレコードの金額を表示したいということなら、下記のようにWHERE句を追加してください。
23
23
 
24
24
  ```sql
25
25
  SELECT A.*, B.金額, B.登録日

1

追記

2020/01/15 04:14

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -15,4 +15,15 @@
15
15
  ON A.名称 = B.名称 AND A.[NO]-1 = B.[NO];
16
16
  ```
17
17
 
18
- ちなみに、「NO」というフィールド名は変更したほうがいいでしょう。予約語ですのでいろいろトラブルの原因になりかねません。とりあえず[]で囲むことで回避はできますが。
18
+ ちなみに、「NO」というフィールド名は変更したほうがいいでしょう。予約語ですのでいろいろトラブルの原因になりかねません。とりあえず[]で囲むことで回避はできますが。
19
+
20
+ ---
21
+ 「最新の金額と一つ前のレコードの金額を比較したい」の「最新」を読み飛ばしていました。
22
+ 名称毎の最新の金額と一つ前のレコードの金額を表示したいということなら、下記のようにWHERE句を追加してください。
23
+
24
+ ```sql
25
+ SELECT A.*, B.金額, B.登録日
26
+ FROM Teble AS A LEFT JOIN Teble AS B ON (A.名称 = B.名称) AND (A.[NO]-1 = B.[NO])
27
+ WHERE
28
+ A.[NO]=(SELECT MAX([NO]) FROM Teble AS C WHERE C.名称=A.名称);
29
+ ```