Запрос SQL, чтобы выбрать последние 5 записей в соответствии с соответствующим пользователем? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть 2 таблицы «Регистрация» и «Запрос». Регистрация:

Id  User_id     name      Phone          Address
1   biz_1445    Ajinkya   5555555555    Delhi
2   biz_1256    Shubham   45698745      Mumbai
3   biz_2658    shikhar   523698        Nagpur

Запрос:

Enq_Id  enq_name         enq_details            user_id
1       skycam           call for visit         biz_1445
2       websort          visit                  biz_2658
3       reliance         order of 100items      biz_1445    
4       Digital-Shoppe   enquire about 6 PC.    biz_1445

Основная работа заключается в следующем: продавец вводит данные через свое приложение, и они передаются в таблицу Enquiery. Теперь я хочу показать последние 5 записей соответствующего менеджера по продажам и отобразить их в виде реселлера в моем приложении. Можете ли вы помочь мне в SQl логика для этого?

Ответы [ 3 ]

1 голос
/ 03 июля 2019

Сначала вам нужно знать user_id о человеке, который подал в Enquiery .предположим, что этот идентификатор - call current_user_id.

. Таким образом, запрос должен быть похож на -

select * 
from (
    select top 5 Enq_Id, enq_name, enq_details 
    from Enquery where user_id = current_user_id 
    order by Enq_Id desc
) a 
order by Enq_Id asc
0 голосов
/ 11 июля 2019

Следующий запрос должен делать то, что вы хотите:

SELECT * 
FROM (
SELECT reg.name,reg.Phone,reg.Address,enq.[user_id],enq.[Enq_Id]
    ,enq.enq_name
    ,enq.enq_details
    ,ROW_NUMBER() OVER(PARTITION BY enq.[user_id] ORDER BY enq.[Enq_Id] DESC) AS RNO
FROM [Enquery] enq
INNER JOIN [Registration] reg ON enq.[User_id] = reg.[User_id] ) A
WHERE RNO <= 5
0 голосов
/ 03 июля 2019

SQL-запрос для отображения 5 последних записей отдела продаж:

return DB:table('Registration')->join('Enquery', 'Registration.User_id', 'Enquery.user_id')
 ->OrderBy('Enq_id', 'desc')
 ->where('Enquery.user_id', '=', 'Registration.User_id')
 ->distinct()

...