我正在开发一个使用 Java 和 SQL 以及 Oracle 数据库的数据库项目。我是使用数据库的新手,也是 SQL 的新手。我的问题是:我如何才能获得客户数量并将他们的每个购买历史记录在数据透视表上?例如,下表中,我有 Lee 总共 3 次,购买了 Item A、Item B 和 Item C。Ann 也有 3 次,并购买了 Item D、Item E 和 Item 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)");
}
我在这里做错了什么?任何帮助将不胜感激!