2016-12-22 7 views
-4

각 항목에서 데이터를 가져 오기 위해 실행하는 5 가지 항목을 선택했습니다. 각각에는 WHERE 및 AND 절이 있습니다. 이 모든 데이터를 가져 와서 데이터를 엉망으로 만들지 않고 하나의 쿼리에 넣을 수있는 방법이 있습니까?SQL 가입 문제

건물 SQL :

SELECT 

C1.Registration_No AS 'Information Provider GLN', 
C1.Note AS 'ManufacturerID (IPC assigned)', 
C1.Name AS 'Manufacturer Name', 
C1.Old_Building_Code AS 'Physical GLN', 
C1.Additional_Note AS 'Location ID (IPC assigned)', 
C1.Building_Code AS 'Location ID (Supplier)', 
CONCAT(C1.Name,C2.Address1,C2.City,C2.State) AS 'Location Name' 

FROM Common_V_Building AS C1 

JOIN Common_V_Address As C2 
ON C2.PCN = C1.Plexus_Customer_No 
AND C2.Address_Key = C1.Address_Key 

WHERE C1.Additional_Note IN ('SWL061', 'SPL139') 

생산 수량 코드 :

SELECT 

P1.Other_Note, 
P1.Part_No, 
P4.UPC_Code, 
P1.Name, 
SUM(P5.Quantity) AS 'Production Qty' 

FROM Part_V_Part As P1 

JOIN Part_V_Part_Attributes AS P4 
ON P4.PCN = P1.Plexus_Customer_No 
AND P4.Part_Key = P1.Part_Key 

JOIN Part_V_Production AS P5 
ON P5.Plexus_Customer_No = P1.Plexus_Customer_No 
AND P5.Part_Key = P1.Part_Key 

WHERE P1.Part_No IN ('07809B', '07810T', '07810K', '07811T', '07811TK', '07812B', '05850T', '05853T') 
AND P5.Report_DATE >= '12-21-2016' 
AND P5.Report_DATE <= '12-21-2016' 

GROUP BY P1.Part_No, P1.Other_Note, P4.UPC_Code, P1.Name, P1.Plexus_Customer_No, P1.Building_Key 

재고 수량 코드 :

SELECT 

P1.Plexus_Customer_No, 
P2.Part_No, 
SUM(P1.QUANTITY) AS 'Inventory (after shipments)' 

FROM PART_V_CONTAINER AS P1 

JOIN PART_V_PART AS P2 
ON P2.Plexus_Customer_No = P1.Plexus_Customer_No 
AND P2.Part_Key = P1.Part_Key 

WHERE ACTIVE = '1' 
AND PART_NO IN ('07809B', '07810T', '07810K', '07811T', '07811TK', '07812B',  '05850T', '05853T') 

GROUP BY P2.Part_No, P1.Plexus_Customer_No 

출하 수량 코드 :

SELECT 

SP1.PCN, 
SP4.Part_No, 
SUM(SP3.Quantity) As 'Shipments' 

FROM SALES_V_SHIPPER AS SP1 

JOIN SALES_V_SHIPPER_LINE AS SP2 
ON SP2.PCN = SP1.PCN 
AND SP2.SHIPPER_KEY = SP1.SHIPPER_KEY 

JOIN SALES_V_SHIPPER_CONTAINER AS SP3 
ON SP3.PCN = SP2.PCN 
AND SP3.SHIPPER_LINE_KEY = SP2.SHIPPER_LINE_KEY 

JOIN PART_V_PART AS SP4 
ON SP4.PLEXUS_CUSTOMER_NO = SP2.PCN 
AND SP4.PART_KEY = SP2.PART_KEY 

WHERE SP4.Part_No IN ('07809B', '07810T', '07810K', '07811T', '07811TK', '07812B', '05850T', '05853T') 
AND SP3.Loaded_DATE >= '12-21-2016' 
AND SP3.Loaded_DATE <= '12-22-2016' 

GROUP BY SP4.Part_NO, SP1.PCN 

최선을 다하고 수량 코드 :

SELECT 

PO1.PCN, 
PO3.PART_NO, 
SUM(PO2.QUANTITY) AS 'Committed' 

FROM SALES_V_PO_LINE AS PO1 

JOIN SALES_V_RELEASE AS PO2 
ON PO2.PCN = PO1.PCN 
AND PO2.PO_LINE_KEY = PO1.PO_LINE_KEY 

JOIN PART_V_PART AS PO3 
ON PO3.PLEXUS_CUSTOMER_NO = PO1.PCN 
AND PO3.PART_KEY = PO1.PART_KEY 

JOIN SALES_V_PO AS PO4 
ON PO4.PCN = PO1.PCN 
AND PO4.PO_KEY = PO1.PO_KEY 

JOIN SALES_V_PO_STATUS AS PO5 
ON PO5.PCN = PO4.PCN 
AND PO5.PO_STATUS_KEY = PO4.PO_STATUS_KEY 

WHERE PO5.PO_STATUS = 'OPEN' 
AND PO3.PART_NO IN ('07809B', '07810T', '07810K', '07811T', '07811TK', '07812B', '05850T', '05853T') 

GROUP BY PO3.PART_NO, PO1.PCN 

내가 원하는 것은 : 그 도움이 될 경우 플렉스의 내부 SQL 개발 환경에서 작업하고

Record_Date, 
Registration_No AS 'Information Provider GLN', 
Note AS 'ManufacturerID (IPC assigned)', 
Name AS 'Manufacturer Name', 
Old_Building_Code AS 'Physical GLN', 
Additional_Note AS 'Location ID (IPC assigned)', 
Building_Code AS 'Location ID (Supplier)', 
CONCAT(Name,Address1,City,State) AS 'Location Name', 
Other_Note AS 'Product Number (SO#/CO#)', 
Part_No AS 'MPN', 
UPC_Code AS 'GTIN', 
Name AS 'Product Description', 
GETDATE() AS 'Inventory Reported For Date', 
'8:30 AM' AS 'Submission Time', 
SUM(Quantity) AS 'Production Qty', 
SUM(QUANTITY) AS 'Shipments', 
SUM(Quantity) AS 'Inventory (After Shipments)', 
SUM(Quantity) AS 'Committed' 

.

감사합니다. 추가 정보가 필요하면 알려주세요.

+1

DBMS에 태그를 지정하고, 샘플 데이터를 제공하고, 예상 결과를 제공하고, 지금까지의 작업을 보여주십시오. – JohnHC

+0

나는이 대답이 아직 완료되지 않았고 잘 물어 보지 않았다는 것을 알고있다. 그러나 누가 downwote하는 시간이 걸리면 질문을하는 방법을 새 사용자에게 설명하는 데에도 시간이 걸릴 것이라고 생각한다. (예 : http://stackoverflow.com/help/how-to-ask) – RudiDudi

+0

필자는 정확한 정보를 제공하는 쿼리를 샘플 데이터 형식에 추가했습니다. 그리고 내가 원하는 결과. –

답변

0

이전에는 Plex ERP에서 작업했지만 이전에는 액세스 할 수 없었습니다. 데이터베이스 스키마를 검색해야하는데, 올바르게 기억한다면 검색 (ctrl + m) "% database % table %"(또는 이와 비슷한)을 사용하면보아야 할 화면이 반환됩니다. 그런 다음 우리가 제공 한 테이블간에 기본/보조 관계를 찾아야합니다. 적어도 각 테이블에 대해 높은 수준의 정보를 제공 할 수 있다면 더 나은 답변을 제공 할 수있을 것입니다.