Сравните 2 таблицы с условиями, чтобы найти результаты - PullRequest
0 голосов
/ 07 мая 2019

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

Вещи проданы Таблица:

unique code          qty    unit_price   funit_cost
000-250-0203          1      125.0000     38.4200
000-250-0203         30       20.0000     11.9500
002 250 97 03 ATKC   20       16.0000     13.6000
00-216-1115 L+R      50       45.0000     92.4000
0004635132          200       14.0000      4.2200
002 420 120 20 OPEC   2       48.0000     17.5200
CV TO-4-695 ZUKC      2       48.0000     17.8900
002 250 97 03 ATKC   16       68.0000     68.0000
43512-0K090          28       54.0000     54.0000
69090-0K040           1       10.0000     18.0000

Таблица уникальных кодов:

Unique Code
000-250-0203
000-250-0203 ATKC
0004635132 
00118-27-350 G 
002 250 97 03
002 250 97 03 ATKC
002 420 120 20
002 420 120 20 OPEC
00-214-1914R
00-216-1115 L+R
00-216-1115 L+R ROKC 

Результаты должны сравнить данные 2 таблиц, чтобы найти минимальную цену, а также максимальную цену за уникальный код.

Результаты должны быть такими: за минимальную цену:

unique code          qty    unit_price   funit_cost
000-250-0203         30       20.0000     11.9500
002 250 97 03 ATKC   20       16.0000     13.6000
00-216-1115 L+R      50       45.0000     92.4000
0004635132          200       14.0000      4.2200
002 420 120 20 OPEC   2       48.0000     17.5200
CV TO-4-695 ZUKC      2       48.0000     17.8900
43512-0K090          28       54.0000     54.0000
69090-0K040           1       10.0000     18.0000

и вот так по максимальной цене:

unique code          qty    unit_price   funit_cost
000-250-0203          1      125.0000     38.4200
00-216-1115 L+R      50       45.0000     92.4000
0004635132          200       14.0000      4.2200
002 420 120 20 OPEC   2       48.0000     17.5200
CV TO-4-695 ZUKC      2       48.0000     17.8900
002 250 97 03 ATKC   16       68.0000     68.0000
43512-0K090          28       54.0000     54.0000
69090-0K040           1       10.0000     18.0000

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Вопрос неясен, но я понимаю, что вы хотите получить максимальную и минимальную цену двух таблиц по уникальному коду.

Я понимаю, что вам нужно что-то похожее на это.

   SELECT
      id,MIN(st.prince),MAX(st.price)
    FROM CODE_TABLE ct
    INNER JOIN SOLD_TABLE st ON ct.id= st.id

Надеюсь, это поможет

0 голосов
/ 07 мая 2019

Вы можете просто сделать:

select us.*
from unitsold us
where us.price = (select max(us2.price) from unitssold us2 where us2.unique_code = us.uniquecode);

Или, если вы хотите гарантировать, что каждая строка во второй таблице появляется один раз, даже если данных нет, тогда используйте outer apply:

select uc.unique_code, us.*
from uniquecodes uc outer apply
     (select top (1) us.*
      from unitssold us
      where us.unique_code = uc.uniquecode
      order by us.price desc
     ) us;

Конечно, вы бы перевернули заказ на сортировку или max() -> min() для другой цены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...