@@ -1559,15 +1559,15 @@ Answer to Puzzle #33
1559
1559
Deadlines
1560
1560
*/ -- --------------------------------------------------
1561
1561
1562
- DROP TABLE IF EXISTS #OrderFulfillments ;
1562
+ DROP TABLE IF EXISTS #Orders ;
1563
1563
DROP TABLE IF EXISTS #ManufacturingTimes;
1564
1564
GO
1565
1565
1566
- CREATE TABLE #OrderFulfillments
1566
+ CREATE TABLE #Orders
1567
1567
(
1568
1568
OrderID VARCHAR (100 ) PRIMARY KEY ,
1569
1569
ProductID VARCHAR (100 ),
1570
- DaysToBuild INTEGER
1570
+ DaysToDelivery INTEGER
1571
1571
);
1572
1572
GO
1573
1573
@@ -1580,7 +1580,7 @@ PRIMARY KEY (PartID, ProductID)
1580
1580
);
1581
1581
GO
1582
1582
1583
- INSERT INTO #OrderFulfillments VALUES
1583
+ INSERT INTO #Orders VALUES
1584
1584
(' Ord893456' ,' Widget' ,7 ),
1585
1585
(' Ord923654' ,' Gizmo' ,3 ),
1586
1586
(' Ord187239' ,' Doodad' ,9 );
@@ -1606,17 +1606,17 @@ FROM #ManufacturingTimes b
1606
1606
GROUP BY ProductID
1607
1607
)
1608
1608
SELECT a.*
1609
- FROM #OrderFulfillments a INNER JOIN
1610
- cte_Max b ON a .ProductID = b .ProductID AND a .DaysToBuild >= b .MaxDaysToManufacture ;
1609
+ FROM #Orders a INNER JOIN
1610
+ cte_Max b ON a .ProductID = b .ProductID AND a .DaysToDelivery >= b .MaxDaysToManufacture ;
1611
1611
GO
1612
1612
1613
1613
-- Solution 2
1614
1614
-- ALL
1615
1615
SELECT a.*
1616
- FROM #OrderFulfillments a
1617
- WHERE DaysToBuild >= ALL( SELECT DaysToManufacture
1618
- FROM #ManufacturingTimes b
1619
- WHERE a .ProductID = b .ProductID );
1616
+ FROM #Orders a
1617
+ WHERE DaysToDelivery >= ALL(SELECT DaysToManufacture
1618
+ FROM #ManufacturingTimes b
1619
+ WHERE a .ProductID = b .ProductID );
1620
1620
GO
1621
1621
1622
1622
/* ----------------------------------------------------
@@ -1636,13 +1636,22 @@ Amount MONEY
1636
1636
GO
1637
1637
1638
1638
INSERT INTO #Orders VALUES
1639
- (' Ord143937' ,1001 ,25 ),(' Ord789765' ,1001 ,50 ),
1640
- (' Ord345434' ,2002 ,65 ),(' Ord465633' ,3003 ,50 );
1639
+ (' Ord143937' ,1001 ,25 ),(' Ord789765' ,1001 ,50 ),(' Ord345434' ,2002 ,65 ),(' Ord465633' ,3003 ,50 );
1640
+ GO
1641
+
1642
+ SELECT OrderID,
1643
+ CustomerID,
1644
+ Amount
1645
+ FROM #Orders
1646
+ WHERE NOT (CustomerID = 1001 AND Amount = 50 );
1641
1647
GO
1642
1648
1643
- SELECT OrderID,CustomerID, Amount
1649
+ SELECT OrderID,
1650
+ CustomerID,
1651
+ Amount
1644
1652
FROM #Orders
1645
- WHERE NOT (CustomerID = 1001 AND OrderID = ' Ord789765' );
1653
+ WHERE CONCAT (CustomerID, Amount) <> ' 100150.00'
1654
+ ORDER BY 2
1646
1655
GO
1647
1656
1648
1657
/* ----------------------------------------------------
0 commit comments