Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > MySQL & MariaDB

Запрос для выборки по двум таблицам базы данных : MySQL & MariaDB

23.04.2024 13:08


03.05.2018 11:02
Никита
 
Добрый день!
Имеется одна база данных с таблицами table_1 и table_2
В table_1 имеются столбцы:
id, account_id, date, sounce_type, balance, action-date.
В table_2 имеются столбцы:
global_id, card, client.

Сама суть запроса:
В table_1.account_id имеются повторяющиеся значения за день более чем 2 раза. Нужно:
При 2-ух кратном повторе столбца table_1.account_id за сегодняшний день (неделю) выводить данные. Из данной выборки значения table_1.account_id заменять значениями из table_2.card и соответствующими ему значениями table_2.cient. table_1.account_id=table_2.card.

Прошу помощи.
Спасибо!
03.05.2018 11:07
OlegON
 
Мне в уме и без привязки к конкретным данным такой запрос собрать слабО. Что, собственно, не получается?
03.05.2018 11:13
Никита
 
в общем в укме есть таблица local_auth_account_journal где отображаются операции по списанию и начислению бонусов. И есть таблица trm_in_card_client где хранятся карты клиентов. Кассиры злоупотребляют бонусами и накапливают их с каждого покупателя, вот надо их выцепить из local_auth_account_journal (которые повторяются более 2 раз в день) с сопоставлением с данными из trm_in_card_client.
03.05.2018 11:46
Никита
 
даже если SELECT account_id FROM local_auth_account_journal GROUP BY account_id HAVING COUNT(*)>3; то выводит только значения столбца account_id без соответствующих ему значених с других столбцов.

а для связи с другой таблицей пытаюсь использовать JOIN вообще ошибку выдает((((
03.05.2018 11:49
Mtirt
 
По Table_1 ты можешь посчитать по каким account_id было больше 2-х операций?
03.05.2018 11:57
Никита
 
Цитата:
Mtirt По Table_1 ты можешь посчитать по каким account_id было больше 2-х операций?
7231 161 -0,34 12.03.2018 16:21:22 1 87888 1012002 Скидка - Бонус списание персонал 0,81 12.03.2018 17:06:18
19641 161 -1,38 10.04.2018 8:49:30 1 150669 1012001 Скидка - Бонус списание персонал 0,97 10.04.2018 8:31:23
19692 161 -0,95 10.04.2018 10:51:48 1 150763 1012001 Скидка - Бонус списание персонал 0,02 10.04.2018 11:44:27
03.05.2018 12:01
Mtirt
 
Это мало похоже на запрос.
03.05.2018 12:04
Никита
 
Цитата:
Mtirt Это мало похоже на запрос.
сорри понял о чем вы
SELECT account_id FROM local_auth_account_journal GROUP BY account_id HAVING COUNT(*)>2; вот что пришло ко мне((
но выдает только столбец account_id
1
58
59
60
61
62
63
68
03.05.2018 12:10
Mtirt
 
Можно теперь соединить этот запрос с table_2 по account_id и table_2.global_id ?
03.05.2018 12:18
Никита
 
вроде первый этап победил
SELECT * FROM local_auth_account_journal WHERE account_id IN (SELECT account_id FROM local_auth_account_journal GROUP BY account_id HAVING COUNT(account_id)>3);
делает выборку по полю account_id с повторами больше чем 3......
теперь самое для меня не понятное....связать таблицы по значениям......JOIN совсем знаю((((
Часовой пояс GMT +3, время: 13:08.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.