Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH letters AS (SELECT 'LLROSCOODYTSINBLSA' ltrs FROM dual) -- you need to enter your tiles here
- , ltr2 AS (SELECT SUBSTR(ltrs,1,2) lt FROM letters UNION ALL -- breaking up the tiles into 9 rows
- SELECT SUBSTR(ltrs,3,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,5,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,7,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,9,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,11,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,13,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,15,2) lt FROM letters UNION ALL
- SELECT SUBSTR(ltrs,17,2) lt FROM letters)
- SELECT DISTINCT word
- FROM ltr2 l1
- , ltr2 l2
- , ltr2 l3
- , ltr2 l4
- , words
- WHERE l1.lt || l2.lt || l3.lt || l4.lt = words.word
- OR l1.lt || l2.lt || l3.lt = words.word
- OR l1.lt || l2.lt = words.word
- ORDER
- BY LENGTH(word) DESC; -- we want the longest match first for maximum points
Add Comment
Please, Sign In to add comment