2 SQL Запроса, с самыми пожилыми продавцами. И Через покупателя других вывести имена других покупателей

  1. По названию города(через параметрическое окно) вывести имена самых пожилых продавцов, проживающих в этом городе
  2. По имени покупателя (через параметрическо окно) вывести именя других покупателей его магазинов.
SELECT Name, Years, City
FROM Sellers AS s, City AS c
WHERE c.CityID=s.CityID AND s.Years In (SELECT MAX(Years) FROM Sellers as s, City as c WHERE s.CityID = c.CityID);
SELECT Name
FROM Buyers AS b, [Buyers shops] AS bs, Shops AS s
WHERE b.BuyersID = bs.BuyersID AND bs.ShopsID=s.ShopsID;

Таблицы связей


Ответы (1 шт):

Автор решения: HeathRow

Первая выборка продавцов по названию города с сортировкой по возрасту будет выглядеть так:

    select
      s.Name, s.Years, c.City
    from
      Sellers s
    left join
      City c
    on
     c.CityID = s.CityID
    where
     c.City = 'город'
    order by s.years desc -- если поле years означает возраст
--  order by s.years asc -- а если это год рождения то так

Вторая выборка, если я правильно понял условие, будет такой:

select
  b.Name
from
  Buyers b
left join
  ([Buyers shops] bs, Shops s)
on
  (bs.BuyersID = b.BuyersID and s.ShopsID = bs.ShopID )
where
  s.ShopsID in (
select 
  bs1.ShopID 
from 
  [Buyers shops] bs1
left join
  Buyers b1
on
  bs1.BuyersID = b1.BuyersID
where
  b1.name = 'имя покупателя'
 )
→ Ссылка