любые идеи о том, как определить приоритет строки с критериями с одним и тем же материалом? Мне нужно зафиксировать значение SG (деление) в моем запросе. У меня есть базовый запрос только из 227 288 строк, а из необработанного файла, который Im получает эти значения ниже, составляет около 300,00 ++, моя проблема заключается в том, что когда я запускаю свой запрос с базовым номером, он захватывает только первый материал из строк.Установить критерии приоритета в строках в запросе
ID MATERIAL DIVISION SCOP(price)
1 a9000 FR390 90
2 b6790 TB900 20
3 a9000 SG2011 35
4 b6790 EU8089 90
сверху, например из 227,288 файлов, для материала A9000 с ценой я получаю 90, когда, мол, мне нужно иметь значение 35 из SG2011, кроме SG2011, все значения из другого подразделения в порядке, то есть для b6790 это нормально, чтобы цена была равна цене 20. деление цена SG2011 для материалов.
Я использую MS Access 2007, я занимаюсь дизайном или представлением SQL. желаю вам, ребята, могли бы помочь мне с простыми кодами .. (iff..statements или просто с точки зрения дизайна ..) или вид SQL в MS Access
Редактировать
Ниже мой SQL запрос (тест-запрос - это не осталось присоединиться к основной запрос, поскольку он не отвечает количество строк, но я был в состоянии показать несколько материалов)
SELECT Base_CSC.ID, Base_CSC.Material, SC_and_Purchase_Price.[Logistic Ref], SC_and_Purchase_Price.[Commercial Ref], Left([Division],2) & ([Commercial Ref]) AS [Comm Ref], Left([Division],2) & ([Logistic Ref]) AS [Log Ref], IIf(Left([Comm Ref],'2')="SG",[SCOP],'') AS [SCOP SG], SC_and_Purchase_Price.[SC in AUD] AS SCOP
FROM Base_CSC LEFT JOIN SC_and_Purchase_Price ON (Base_CSC.Material = SC_and_Purchase_Price.[Commercial Ref]) AND (Base_CSC.Material = SC_and_Purchase_Price.[Logistic Ref])
ORDER BY Base_CSC.ID;
Query Test - изображение моего тестового запроса, чтобы показать материалы. как показано Материал: LV433620 имеет 3 результата для материала. но когда я запускаю мой последний запрос
Final Output Query - изображение моего вывода запроса
LV433620 материал принял значение первой линии, когда якобы мне нужен выход SCOP SG - (я только что сделал поле барда SG в различают), так что вместо 257.42. Мне нужно значение SCOP 215.50 для материала LV433620.
ниже для окончательного вывода запроса зрения SQL
SELECT Base_CSC.ID, Base_CSC.Material, Base_CSC.[Vendor Reference], Base_CSC.[Default Vendor], First(IIf(IsNull([scop3_v2.SCOP]),[scop3_v2_1.SCOP],[scop3_v2.SCOP])) AS SCOP
FROM (Base_CSC LEFT JOIN scop3_v2 AS scop3_v2_1 ON Base_CSC.Material = scop3_v2_1.scop1.SCOPLookup) LEFT JOIN scop3_v2 ON Base_CSC.Material = scop3_v2.scop2.SCOPLookup
GROUP BY Base_CSC.ID, Base_CSC.Material, Base_CSC.[Vendor Reference], Base_CSC.[Default Vendor]
ORDER BY Base_CSC.ID;
формат, который вы правильно отвечаете @anne –
Ваш вопрос довольно расплывчатый. Если есть какая-либо запись для конкретного материала, имеющего подразделение SG2011, то получить цену, связанную с SG2011 (какая цена, самая низкая, самая высокая, так как может быть несколько строк на комбинацию материалов/делений?). В противном случае, самая низкая (?) Цена ?. что ты уже испробовал? Пожалуйста, укажите любые вопросы. – Rene
привет @saurabhkamble Я отредактировал, что бы вы могли помочь. спасибо – Anne