Member 7969814 Ответов: 1

Как создать представление в mysql с минусом двух разных столбцов таблицы и сохранить результат в виде столбца для каждой строки


Привет
У меня есть два стола.

первый Loading_Order

1 лодид
2 Lod_Num
3 LodQty

Размещение второго стола

1 плед
2 Планум
3 Лоднум
4 PlacedQty


Я хочу создать представление, в котором я могу видеть оставшееся кол - во (lodQTY-PlacedQTY), возможно ли создать такое представление MySQL.

Спасибо

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

select 

t1.LoadingOrderId, 
t1.Location, 
t1.DocType, 
t1.LoadingOderDate, 
t1.LoadingOderNumber, 
t1.Bill_To, 
t1.Valid_From, 
t1.Valid_Till, 
t1.Party_Ref_No, 
t1.Ref_date, 
t1.LDLocation_Name, 	
t1.LDConsignor, 
t1.LDAddress, 
t1.LDCity, 
t1.LDState, 
t1.LDPhone, 
t1.LDLConsignee, 
t1.LDLShip_To_Dest, 
t1.LDLShip_To, 
t1.LDLCity, 
t1.LDLState, 
t1.LDLPhone, 
t1.MDItem, 
t1.MDQuantity, 
t1.MDPakingType, 
t1.Freight_Rate , 
t1.Unit, 
t1.Nos
 
from loadingorder t1 
where  t1.COMP_ID=_COMP_ID 

and    not exists (select *
                  from placement t2
                  where t1.LoadingOderNumber = t2.LoadingOrderNo )
                  
union

Select 
t1.LoadingOrderId, 
t1.Location, 
t1.DocType, 
t1.LoadingOderDate, 
t1.LoadingOderNumber, 
t1.Bill_To, 
t1.Valid_From, 
t1.Valid_Till, 
t1.Party_Ref_No, 
t1.Ref_date, 
t1.LDLocation_Name, 	
t1.LDConsignor, 
t1.LDAddress, 
t1.LDCity, 
t1.LDState, 
t1.LDPhone, 
t1.LDLConsignee, 
t1.LDLShip_To_Dest, 
t1.LDLShip_To, 
t1.LDLCity, 
t1.LDLState, 
t1.LDLPhone, 
t1.MDItem, 
t1.MDQuantity, 
t1.MDPakingType, 
t1.Freight_Rate , 
t1.Unit, 
t1.Nos

from loadingorder t1 INNER JOIN placement Pla ON t1.LoadingOderNumber = Pla.LoadingOrderNo having IFNULL(((t1.MDQuantity)-(Sum(Pla.Quantity))),0) > 0;


но этот код не дает должного результата.

ZurdoDev

В чем именно заключается ваш вопрос?

Member 7969814

спасибо большое мой дорогой друг ZurdoDev (МВП) для попробовать, чтобы помочь мне. Моя проблема решена с помощью этого кода:
Выберите.LoadingOderNumber,а.MDQuantity,б.Количество,.MDQuantity-б.Количество как разница из loadingorder в
левое соединение размещение b
На a.LoadingOderNumber=b.LoadingOrderNo;

ZurdoDev

Пожалуйста, опубликуйте как решение, чтобы оно больше не оставалось без ответа. Рад слышать, что у тебя получилось.

1 Ответов

Рейтинг:
9

Member 7969814

Моя проблема решена я использую этот код и он отлично работает

SELECT a.LoadingOderNumber,a.MDQuantity,b.Quantity, a.MDQuantity-b.Quantity as Difference FROM loadingorder a
left JOIN placement b
ON a.LoadingOderNumber=b.LoadingOrderNo;