ClickHouse/tests/queries/0_stateless/03274_philipzucker.sql
2024-11-28 12:44:34 +01:00

30 lines
1.3 KiB
SQL

-- https://www.philipzucker.com/sql_graph_csp/
set enable_analyzer = 1;
WITH RECURSIVE digits AS (
SELECT 0 AS digit
UNION ALL
SELECT digit + 1
FROM digits
WHERE digit < 9
)
SELECT s.digit AS S, e.digit AS E, n.digit AS N, d.digit AS D,
m.digit AS M, o.digit AS O, r.digit AS R, y.digit AS Y
FROM digits s, digits e, digits n, digits d, digits m, digits o, digits r, digits y
WHERE s.digit <> e.digit AND s.digit <> n.digit AND s.digit <> d.digit AND s.digit <> m.digit AND
s.digit <> o.digit AND s.digit <> r.digit AND s.digit <> y.digit AND
e.digit <> n.digit AND e.digit <> d.digit AND e.digit <> m.digit AND
e.digit <> o.digit AND e.digit <> r.digit AND e.digit <> y.digit AND
n.digit <> d.digit AND n.digit <> m.digit AND n.digit <> o.digit AND
n.digit <> r.digit AND n.digit <> y.digit AND
d.digit <> m.digit AND d.digit <> o.digit AND d.digit <> r.digit AND
d.digit <> y.digit AND
m.digit <> o.digit AND m.digit <> r.digit AND m.digit <> y.digit AND
o.digit <> r.digit AND o.digit <> y.digit AND
r.digit <> y.digit AND
s.digit <> 0 AND m.digit <> 0 AND
(1000 * s.digit + 100 * e.digit + 10 * n.digit + d.digit) +
(1000 * m.digit + 100 * o.digit + 10 * r.digit + e.digit) =
(10000 * m.digit + 1000 * o.digit + 100 * n.digit + 10 * e.digit + y.digit);