В моей базе данных есть две таблицы: одна Syncbill
, а другая Paymentmode
в Syncbill
. У меня есть несколько столбцов, которые представляют тип платежа, например, наличные, Paytm и другие Otherpayment1
, OtherPayment2
и т. Д.
У меня есть еще одна таблица в моей базе данных, названная paymentmode
, в которой имена других режимов оплаты определены как OtherPayment1
, там определено как глоток.
Таблица синхронизации
Настольный режим оплаты

Результирующая таблица / Вывод
Я пытаюсь получить, если это делается по запросу
Проблема, с которой я сталкиваюсь:
- Между этими двумя таблицами нет никакой связи
- Отношение, которое я сделал, находится в таблице
Paymentmode
, есть четыре столбца с именами Position
, Paymentcode
, Paymentname
и IsActive
, где позиция определена как 1,2,3,4 и т. Д. , так что эти 1,2,3 ... и в другой таблице Otherpayment1
, Otherpayment2
.. здесь 1,2,3 определяют способы оплаты
Теперь я пытаюсь получить данные из обеих таблиц, но вместо Otherpayment1
я хочу получить то, что находится в другой таблице (Paymentmode
) в позиции 1
Как в таблице Paymentmode
У меня есть столбец IsActive
, поэтому я хочу получить только те PaymentNames
, которые имеют IsActive='Y'
- Я не понимаю, как я могу это сделать, я выкладываю этот, чтобы получить такой подход, как, как я могу это сделать, это можно сделать с помощью самого запроса, или я должен использовать серверный язык. использование Java-сервлетов в качестве языка на стороне сервера
Что я делал раньше:
Я пишу этот запрос:
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-сервлет. Я использую resultset.getstring
, чтобы получить значения из базы данных, а затем сохранить их в List и затем преобразовать их в JSON, используя GSON
, например,
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 все они жестко запрограммированы.