私は、Oracle データベースで Java と SQL の両方を使用するデータベース プロジェクトに取り組んでいます。私はデータベースを扱うのは初めてで、SQL は初めてです。私の質問は、どうすれば顧客数を取得し、それぞれの購入履歴をピボット テーブルに記録できるでしょうか? たとえば、次の表では、私は Lee に合計 3 回、アイテム A、アイテム B、およびアイテム C を購入しました。Ann も 3 回そこにいて、アイテム D、アイテム E、およびアイテム F を購入しました。名前、出現回数、購入したものを別のピボット テーブルに表示します。
Row Customer Purchase_History
1 Lee Item A
2 Lee Item B
3 Lee Item C
4 Ann Item D
5 Ann Item E
6 Ann Item F
これを実行しようとするコードをいくつか書きましたが、コンパイルして実行すると、望ましい結果が得られません。これが私のコードです:
String TableCount = "SELECT J.Row, J.Customer, J.Purchase_History, C.cnt" +
" FROM Table J INNER JOIN(SELECT Customer, count(Customer) as cnt" +
"FROM Table GROUP BY Customer") C ON J.Customer = C.Customer;
ResultSet rs = st.executeQuery(TableCount);
while(rs.next()){
st.executeUpdate("CREATE TABLE IF NOT EXISTS CUSTOMER_COUNT" +
"(TableCount , Purchase_History )");
String InsertIntoTable = String.format("INSERT INTO CUSTOMER_COUNT" +
"("TableCount","Purchase_History")" +
" VALUES ('%s','%s)");
}
ここで何が間違っていますか?どんな助けでも大歓迎です!