Я реализовал query, который только получает числа счета с Вашим окончательным расчетом, если они появляются в таблице saldos
. Сначала это была моя цель, которая сейчас является всем противоположностью, а именно, мочь получать числа счета, у которых нет окончательного расчета в таблице saldos
.
Подмостки консультации - следующие:
МАРКИРОВКА (у вышеупомянутой таблицы есть числа счета специфических клиентов, как пойдите специфические средства для управляющих и каналы).
ОКОНЧАТЕЛЬНЫЙ РАСЧЕТ (вышеупомянутая таблица содержит окончательный расчет, который есть у клиентов из-за id
. Если у клиента нет окончательного расчета, эта не появляется в таблице).
КЛИЕНТЫ (у вышеупомянутой таблицы есть информация всех клиентов с Вашим числом счета, я связываю ее с таблицей marcaje
из-за числа счета, так как как я объяснил в таблице marcaje
он содержит эту только специфические клиенты (которые являются теми, которые для меня имеют значение действительно), также я связываю ее с таблицей saldos
из-за id
, так как таблица saldos
только они могут быть связанными из-за id
с таблицей clientes
).
УПРАВЛЯЮЩИЙ (вышеупомянутая таблица имеет id
необходимых управляющих, чтобы реализовывать консультацию).
КАНАЛ (вышеупомянутая таблица имеет id
необходимых каналов, чтобы реализовывать консультацию).
Query #1, этот позволяет получать необходимые числа счетов, чтобы мочь получать Ваш окончательный расчет. (он возвращает 422 число счета, которые находятся в таблице marcaje
).
select
M.NUMERO_DE_CUENTA as cuentas
from MARCAJE M
inner join CLIENTES C on C.NUMERO_DE_CUENTA = M.NUMERO_DE_CUENTA
inner join GERENTE G on G.ID = M.ID_GERENTE
inner join CANAL CN on CN.ID = M.ID_CANAL
where CN.ID = '2' and G.ID = '41';
Query #2, он позволяет получать этот saldos
счетов, которые находятся в marcaje
, не только выданные первого query, а все счета.
select
C.NUMERO_DE_CUENTA as cuentas
,S.SALDO as saldo_disponible
from CLIENTES C
inner join SALDOS S on S.ID = C.ID
inner join MARCAJE M on M.NUMERO_DE_CUENTA = C.NUMERO_DE_CUENTA
Query #3, это связь между первым и вторым query, получает счета первого query, у которых есть окончательный расчет во втором query (они возвращают 176 число счета, который у них есть saldo
, нет 247 число счета, которые являются теми, у которых нет какого-то типа saldo
).
with
gerente as (
select
M.NUMERO_DE_CUENTA as cuentas
from MARCAJE M
inner join CLIENTES C on C.NUMERO_DE_CUENTA = M.NUMERO_DE_CUENTA
inner join GERENTE G on G.ID = M.ID_GERENTE
inner join CANAL CN on CN.ID = M.ID_CANAL
where CN.ID = '2' and G.ID = '41'
),
saldos as (
select
C.NUMERO_DE_CUENTA as cuentas
,S.SALDO as saldo_disponible
from CLIENTES C
inner join SALDOS S on S.ID = C.ID
inner join MARCAJE M on M.NUMERO_DE_CUENTA = C.NUMERO_DE_CUENTA
)
select
g.cuentas,
s.saldo_disponible
from gerente g, saldos s
where g.cuentas = s.cuentas;
Как я это сказал сначала, моя цель состоит в том, чтобы получать этих 247 чисел счета, которого у них нет saldo
, единственное, что пришло в голову мне, состояло в том, чтобы использовать функцию not exists
но оно не функционировало.
Заранее спасибо за чтение этого и стараться помогать мне в вышеупомянутой проблеме