前提・実現したいこと
価格が変更になると、新らたなIDが発行されメンテナンスがされる価格表があります。
ID=NEXT_ID が最新の価格です。
ID NAME price NEXT_ID
1 Apple 100 1
2 Bana 50 3
3 Bana 200 3
4 Grapes 10 5
5 Grapes 20 6
6 Grapes 30 7
7 Grapes 40 7
この表から、次のような最新の価格表を作成しようとしています。
ID NAME price
1 Apple 100
2 Bana 200
3 Bana 200
4 Grapes 40
5 Grapes 40
6 Grapes 40
7 Grapes 40
発生している問題・エラーメッセージ
4個以上のクエリを発行しており、作業が煩雑
該当のソースコード
【Q0_newprice】
SELECT Price.ID, Price.NAME, Price.price, Price.NEXT_ID
FROM Price
WHERE Price.NEXT_ID=ID;
【Q1】
SELECT t1.ID, t2.NEXT_ID
FROM Price AS t1 INNER JOIN Price AS t2 ON t1.NEXT_ID = t2.ID;
【Q2】
SELECT t1.ID, t2.NEXT_ID
FROM Q1 AS t1 INNER JOIN Price AS t2 ON t1.NEXT_ID = t2.ID;
<実際は、Q2の作業をQ0にある該当するデータまで繰り返す>
【Q9】
SELECT t1.ID, t2.NAME, t2.price
FROM Q2 AS t1 INNER JOIN Q0 AS t2 ON t1.NEXT_ID = t2.ID;
試したこと
「副問い合わせ」や「自己参照」など試行錯誤しましたが、いい方法がみあたりませんでした
補足情報(FW/ツールのバージョンなど)
使用タイミングにより、複数のソフトで使用するため、SQLの記述でまとめたい。
Acsess2019 / FileMaker/SAS9.4
回答1件
あなたの回答
tips
プレビュー