Hemil Gandhi Ответов: 1

Получить более низкие стоимости через mupltiple присоединяется


У меня есть две таблицы, кредит(custno,acno &амп; clearbal) &ампер; заказчик (custno,Пан &амп; название). Custno является общим в обеих таблицах.Я хочу генерировать панорамные данные.Для чего я построил ниже упомянутый запрос, чтобы получить выданный кредит pan wise, я хочу иметь имя клиента в выводе, но несколько кастрюль упоминаются в разных идентификаторах клиентов, так что

если я добавляю имя в тот же запрос, он разбивает запись.
Можно ли включить имя клиента, которое имеет более низкий идентификатор, например
если "ААА" Пан в cusid 1 &ампер; 2 так cistomer СВО в 1 должны быть отображены &амп; группы должно быть сделано на "ААА"
детали образца

таблица Customer
Имя Кастрюли Custno
1 ААА Кевин
2 bbb Питер
3 ААА Джош

Таблица Займов
Custno acno clearbal
1 20 100
2 21 50
3 22 200

Вывод я получаю через запрос
Пан Граф Бал
ААА 2 300
ВВВ 1 50

Чего я хочу, так это

Поддон Имя Графа Бал
ААА Кевин 2 300
ВВВ Питер 1 50

select c.pan,count(L.Acno) as Count,sum(L.ClearBal) as bal from LOAN as L inner join customer as C
on L.CustNo=c.CustNo where l.clearbal<0 group by c.PAN order by bal desc


Я попробовал ниже упомянутый запрос, но вывод пропускает записи, имеющие одну и ту же карту pan.

Что я уже пробовал:

select c.name,c.pan,count(L.Acno) as Count,sum(L.ClearBal) as bal from LON20190629 as L inner join customer as C
on L.CustNo=c.CustNo inner joiN
  (
    SELECT pan, MIN(CustNo) MinPoint
    FROM customer
	where len(pan)>6
    GROUP BY PAN
  ) tbl1
  ON tbl1.PAN = C.PAN
WHERE tbl1.MinPoint = C.CustNo and and l.ClearBal<0 group by c.PAN,c.Name order by bal desc

OriginalGriff

Нам понадобится небольшая входная выборка для каждой таблицы, а также Выходные данные, которые вы получаете, и то, что вы ожидаете, - и эта небольшая выборка должна показать проблему. Если этот пример ввода также содержит SQL для создания и заполнения таблиц, это было бы очень полезно!

Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. И у нас нет доступа к вашим данным, поэтому мы не можем проверить ничего, что мы могли бы предложить!

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Hemil Gandhi

Спасибо за ответ , я обновил вопрос. Надеюсь, я осветил все недостающие детали.

OriginalGriff

А что такое "код", когда он находится дома?

Когда вы предоставляете образцы, они должны работать.
Если они не работают, или они не обеспечивают выход, который вы указываете, они не нужны нам вообще ...

Hemil Gandhi

CustNo в таблице Customer названного кодекса

1 Ответов

Рейтинг:
1

W∴ Balboos, GHB

Вот стратегия - не самая элегантная, но простая для понимания.

Чтобы получить второе по величине значение, с несколькими записями любого из значений или без них, вы можете сделать что-то вроде выбора верхнего 1 из вашего запроса, где значение меньше максимального для возвращаемого набора (как подзапрос), упорядочив верхний 1 запрос по этому значению в порядке убывания.


Единственный частный случай, который вам нужно рассмотреть, - это то, что если все возвращаемые значения имеют одно и то же значение, то теперь существует "второе по величине" значение.


Hemil Gandhi

Сэр, я не специалист по sql queries.so я не понимаю вашего решения, не могли бы вы помочь мне с запросом??

W∴ Balboos, GHB

Я должен предположить, что вы можете сделать следующее:
Напишите запрос SELECT, запрашивающий MAX() некоторого значения
Напишите запрос, который может быть упорядочен по некоторому значению в порядке убывания
Напишите запрос с подзапросом и поймите операторы сравнения, такие как <,>, =, != (и т. д.).

Возможно, вы захотите заглянуть в учебник, так как все это довольно просто:
https://www.w3schools.com/sql/default.asp

Hemil Gandhi

Я могу написать все эти запросы по отдельности, но как объединить их все, чтобы получить решение моей проблемы.

W∴ Balboos, GHB

Я дал вам ссылку на учебную справку. Кроме того, основная подсказка "подзапрос", которая может быть использована для управления тем, что вы видите, например, в вашем предложении WHERE. Подзапрос - иногда прекрасная вещь.