많은에 내가SQL 서버 2014 하나의 문제
한 번 지불이 개 테이블, 주문 및 AWB를 가지고 주문 송장하게하고 AWB 내가 각 깃발 'HOLD'를 가지고 주문에서 출하
생성됩니다 기록
주문은 종종 하나 하나 개의 항목 따라서 한 기록이지만, 때로는 더 행 주문이있는
내가 원하는 그런 일은, 적어도 하나 개의 순서는 전체 선적 을 차단 개최 때 만 에서 볼 수 있듯이 이 SQLFiddle, 내 solution
AWB를 중지하려면 모든 3 개의 주문 라인이 보류 중입니다.
내가 원하는 것을 어떻게 얻을 수 있습니까?
업데이트 .. sqlFiddle이 제대로 작동하지 않습니다 여기에 예
CREATE TABLE Orders (
OrderID varchar(10) NULL,
UserID nvarchar(20) NULL,
ItemID nvarchar(20) NULL,
Quantity int NULL,
Hold bit NULL
)
CREATE TABLE AWB (
ShipmentID varchar(10) NULL,
OrderID varchar(10) NULL,
UserID nvarchar(20) NULL,
Content nvarchar(200) NULL,
TrackingID nvarchar(20) NULL
)
Insert into Orders (OrderID,UserID,ItemID,Quantity,Hold)
VALUES ('25', 'John', 'Item2',1,0)
Insert into Orders (OrderID,UserID,ItemID,Quantity,Hold)
VALUES ('26', 'Frank', 'Item3',1,0)
Insert into Orders (OrderID,UserID,ItemID,Quantity,Hold)
VALUES ('25', 'John', 'Item3',2,0)
Insert into Orders (OrderID,UserID,ItemID,Quantity,Hold)
VALUES ('25', 'John', 'Item4',1,1)
Insert into Orders (OrderID,UserID,ItemID,Quantity,Hold)
VALUES ('27', 'Bill', 'Item1',2,0)
Insert into Orders (OrderID,UserID,ItemID,Quantity,Hold)
VALUES ('28', 'Anna', 'Item3',4,0)
Insert into AWB (ShipmentID,ORderID,UserID,Content,TrackingID)
VALUES ('A414', '26', 'Frank', '1xItem3', 'DHL232455')
Insert into AWB (ShipmentID,ORderID,UserID,Content,TrackingID)
VALUES ('A415', '25', 'John', '4xItem1,1xItem2,2xItem3,1xItem4', 'DHL232465')
Insert into AWB (ShipmentID,ORderID,UserID,Content,TrackingID)
VALUES ('A416', '26', 'Bill', '2xItem1', 'DHL232467')
Insert into AWB (ShipmentID,ORderID,UserID,Content,TrackingID)
VALUES ('A417', '26', 'Anna', '4xItem3', 'DHL232489')
SELECT DISTINCT
awb.ShipmentID,
awb.OrderID,
awb.UserID,
awb.Content,
awb.TrackingID
FROM
AWB
JOIN
Orders o ON o.OrderID=awb.OrderID
WHERE
o.Hold=0
를 나는이 상황을 선택 주문 25
를 반환하지 않습니다 것을 기대감사합니다! 조
예상 결과도 추가 할 수 있습니까? –
물론 추가되었습니다. 하지만 단순히 주문 25를 돌려 보내지 마십시오! – Joe