columns:
- column: "Valid/Invalid"
- column: "mz_now() SQL"
rows:
- "Valid/Invalid": |
Materialize SQL ✅
"mz_now() SQL": |
**Rewrite as UNION ALL with possible duplicates**
```mzsql
CREATE MATERIALIZED VIEW forecast_completed_orders_duplicates_possible AS
SELECT item, quantity, status from orders
WHERE status = 'Shipped'
UNION ALL
SELECT item, quantity, status from orders
WHERE order_date + interval '30' minutes >= mz_now()
;
```
**Rewrite as UNION ALL that avoids duplicates across queries**
```mzsql
CREATE MATERIALIZED VIEW forecast_completed_orders_deduplicated_union_all AS
SELECT item, quantity, status from orders
WHERE status = 'Shipped'
UNION ALL
SELECT item, quantity, status from orders
WHERE order_date + interval '30' minutes >= mz_now()
AND status != 'Shipped' -- Deduplicate by excluding those with status 'Shipped'
;
```
**Rewrite as UNION to deduplicate any and all duplicated results**
```mzsql
CREATE MATERIALIZED VIEW forecast_completed_orders_deduplicated_results AS
SELECT item, quantity, status from orders
WHERE status = 'Shipped'
UNION
SELECT item, quantity, status from orders
WHERE order_date + interval '30' minutes >= mz_now()
;
```
- "Valid/Invalid": |
Anti-pattern ❌
"mz_now() SQL": |
Not supported
```none
-- Unsupported
CREATE MATERIALIZED VIEW forecast_completed_orders_unsupported AS
SELECT item, quantity, status from orders
WHERE status = 'Shipped'
OR order_date + interval '30' minutes >= mz_now();
```