【发布时间】:2019-04-12 06:32:36
【问题描述】:
我的数据库中有两个表,一个是Syncbill,另一个是Syncbill 中的Paymentmode。我有几列代表支付类型,例如现金、Paytm 等是Otherpayment1、OtherPayment2 等等。
我的数据库中还有一个名为 paymentmode 的表,其中定义了其他支付模式名称,例如 OtherPayment1 在那里定义为 swiggy。
表同步账单
餐桌支付方式
结果表/输出
我想知道是否是通过查询完成的
我面临的问题是:
- 这两个表之间没有关系
- 我建立的关系在
Paymentmode表中有四列命名为Position、Paymentcode、Paymentname和IsActive,其中位置定义为1、2、3、4等, 所以这些 1,2,3... 和其他表中的Otherpayment1,Otherpayment2.. 这里 1,2,3 是定义付款方式 现在我要做的是从两个表中获取数据,但作为
Otherpayment1的位置,我想要位置 1 的其他表 (Paymentmode) 中的内容如表
Paymentmode我有一个列IsActive所以我只想得到那些PaymentNames有IsActive='Y'- 我不知道该怎么做使用 Java-Servlets 作为服务器端语言
我之前在做什么:
我正在写这个查询:
SELECT billdate,SUM(paytm) paytm,SUM(cash) cash,
SUM(otherpayment1) Swiggy, SUM(otherpayment2) KB,SUM(otherpayment3) BigBasket,SUM(otherpayment4)
Zomato FROM syncbill WHERE a.BILLDATE BETWEEN '2018-08-05' AND '25018-08-10'
我的 Java servlet 我正在使用 resultset.getstring 从数据库中获取值,然后将它们存储到 List 中,然后使用 GSON 将其转换为 JSON,就像这样
while (resultSet.next()) {
lhm = new LinkedHashMap<Object, Object>();
Billdate = resultSet.getString("billdate");
cash = resultSet.getLong("paytm");
creditcard = resultSet.getLong("cash");
swiggy = resultSet.getLong("Swiggy");
kb = resultSet.getLong("KB");
bigBasket = resultSet.getLong("BigBasket");
zomato = resultSet.getLong("Zomato");
lhm.put("Billdate", Billdate);
lhm.put("Paytm", paytm);
lhm.put("Cash", cash);
lhm.put("Swiggy", swiggy);
lhm.put("Kb", kb);
lhm.put("BigBasket", bigBasket);
lhm.put("Zomato", zomato);
mainList.add(lhm);
str = gson.toJson(mainList);
}
但这不是解决方案,因为我正在获取 KB,Swiggy 都是硬编码的。
【问题讨论】: