You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-11-03 17:13:17 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
USE tpch1;
 | 
						|
drop table if exists `shipamounts`;
 | 
						|
drop table if exists `ship1`;
 | 
						|
drop table if exists `ship2`;
 | 
						|
CREATE TABLE `shipamounts` (
 | 
						|
`OrderNum` varchar(50) DEFAULT NULL,
 | 
						|
`OrderLine` int(11) DEFAULT NULL,
 | 
						|
`ShippingAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingDiscountAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingOrderAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingDiscountOrderAmount` decimal(10,2) DEFAULT NULL
 | 
						|
) engine=columnstore DEFAULT CHARSET=latin1;
 | 
						|
CREATE TABLE `ship1` (
 | 
						|
`OrderNum` varchar(50) DEFAULT NULL,
 | 
						|
`OrderLine` int(11) DEFAULT NULL,
 | 
						|
`ShippingAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingOrderAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingDiscountAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingDiscountOrderAmount` decimal(10,2) DEFAULT NULL
 | 
						|
) engine=columnstore DEFAULT CHARSET=latin1;
 | 
						|
CREATE TABLE `ship2` (
 | 
						|
`OrderNum` varchar(50) DEFAULT NULL,
 | 
						|
`OrderLine` int(11) DEFAULT NULL,
 | 
						|
`ShippingAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingOrderAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingDiscountAmount` decimal(10,2) DEFAULT NULL,
 | 
						|
`ShippingDiscountOrderAmount` decimal(10,2) DEFAULT NULL
 | 
						|
) engine=columnstore DEFAULT CHARSET=latin1;
 | 
						|
insert into shipamounts values (2357203684, 352338, 0, 0, 0, 0);
 | 
						|
insert into ship1 values (2357203684, 352338, 0, 0, 0, 0);
 | 
						|
insert into ship2 values (2357203684, 352338, 0, 0, 0, 0);
 | 
						|
SELECT	s.OrderNum,
 | 
						|
s.OrderLine,        
 | 
						|
s.ShippingAmount,
 | 
						|
s.ShippingOrderAmount,
 | 
						|
total.ShippingTotalAmount,
 | 
						|
s.ShippingDiscountAmount,
 | 
						|
s.ShippingDiscountOrderAmount,
 | 
						|
total.ShippingDiscountTotalAmount,      
 | 
						|
IF( s.OrderLine = MIN(t.OrderLine), 1, 0 )  
 | 
						|
FROM shipAmounts AS s  
 | 
						|
LEFT OUTER JOIN ship1 AS t ON s.OrderNum = t.OrderNum 
 | 
						|
LEFT OUTER JOIN  
 | 
						|
(SELECT OrderNum, SUM(ShippingAmount) AS ShippingTotalAmount,
 | 
						|
SUM(ShippingDiscountAmount) AS ShippingDiscountTotalAmount
 | 
						|
FROM ship2
 | 
						|
GROUP BY OrderNum) AS total ON s.OrderNum = total.OrderNum 
 | 
						|
GROUP BY s.OrderNum,s.OrderLine,3,4,5,6,7,8;
 | 
						|
OrderNum	OrderLine	ShippingAmount	ShippingOrderAmount	ShippingTotalAmount	ShippingDiscountAmount	ShippingDiscountOrderAmount	ShippingDiscountTotalAmount	IF( s.OrderLine = MIN(t.OrderLine), 1, 0 )
 | 
						|
2357203684	352338	0.00	0.00	0.00	0.00	0.00	0.00	1
 | 
						|
drop table if exists shipamounts;
 | 
						|
drop table if exists ship1;
 | 
						|
drop table if exists ship2;
 |