выбор счетчика из таблицы с суммой другой таблицы - PullRequest
0 голосов
/ 10 июля 2019

У меня есть две таблицы заказов таблицы, и элемент заказа таблицы order_item имеет внешний ключ к таблице заказов с именем order_id

Я хочу выбрать порядок подсчета с отмененным статусом и суммой order_item.cbs> 0

    order table                      order_item table</p>

<code>*************************     **************************************
* id * date * status    *     * id * status * cbc * cbs * order_id *
*************************     **************************************
* 1  * null * CANCELLED *     * 11 *        *  1  *  0  *  1       *
*************************     ************************************** 
* 2  * null * DELIVERED *     * 12 *        *  0  *  0  *  1       *
*************************     **************************************
</code>

Ответы [ 2 ]

0 голосов
/ 10 июля 2019
SELECT o.id, o.status, sum(oi.cbs)
FROM order o JOIN order_item oi ON o.id = oi.order_id
WHERE o.status = 'CANCELLED' AND oi.cbs > 0
GROUP BY o.id, o.status

Извините, если мой синтаксис в именах ваших таблиц не идеален, но это должно быть все, что вам нужно.Дайте мне знать, если у вас все еще проблемы.Это может потребоваться в подзапросе, если он не работает сейчас, я могу изменить его.

0 голосов
/ 10 июля 2019

если вы используете JDBC, вы можете просто сделать:

    public int getOrderInfo(){
    Statement stmt = null;
    ResultSet results = null;
    int queryResult = 0;
    try(Connection connection = [your connection here]){
        stmt = connection.createStatement();
        results = stmt.executeQuery("SELECT COUNT('status') FROM order INNER JOIN order_item ON order.id = order_item.order_id WHERE order.status = 'CANCELLED';");
        while(results.next()){
            queryResult = results.getInt(1);
        }
    }catch(Exception e){
    e.printStackTrace();
    }
    return queryResult;
}

, поскольку вы просто отправляете запрос SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...