|
2 | 2 | Scott Peters |
3 | 3 | DDL for Advanced SQL Puzzles |
4 | 4 | https://advancedsqlpuzzles.com |
5 | | -Last Updated 12/29/2023 |
| 5 | +Last Updated 02/18/2024 |
6 | 6 | Microsoft SQL Server T-SQL |
7 | 7 |
|
8 | 8 | */---------------------------------------------------- |
@@ -1785,6 +1785,122 @@ INSERT INTO #Repairs (RepairID, CustomerID, RepairDate) VALUES |
1785 | 1785 | (8008,'B','2023-09-01'); |
1786 | 1786 | GO |
1787 | 1787 |
|
| 1788 | +/*---------------------------------------------------- |
| 1789 | +DDL for Puzzle #73 |
| 1790 | +Distinct Statuses |
| 1791 | +*/---------------------------------------------------- |
| 1792 | +DROP TABLE IF EXISTS #WorkflowSteps; |
| 1793 | +GO |
| 1794 | + |
| 1795 | +CREATE TABLE #WorkflowSteps |
| 1796 | +( |
| 1797 | +StepID INTEGER PRIMARY KEY, |
| 1798 | +Workflow VARCHAR(50), |
| 1799 | +[Status] VARCHAR(50) |
| 1800 | +); |
| 1801 | +GO |
| 1802 | + |
| 1803 | +INSERT INTO #WorkflowSteps (StepID, Workflow, [Status]) VALUES |
| 1804 | +(1, 'Alpha', 'Open'), |
| 1805 | +(2, 'Alpha', 'Open'), |
| 1806 | +(3, 'Alpha', 'Inactive'), |
| 1807 | +(4, 'Alpha', 'Open'), |
| 1808 | +(5, 'Bravo', 'Closed'), |
| 1809 | +(6, 'Bravo', 'Closed'), |
| 1810 | +(7, 'Bravo', 'Open'), |
| 1811 | +(8, 'Bravo', 'Inactive'); |
| 1812 | +GO |
| 1813 | + |
| 1814 | +/*---------------------------------------------------- |
| 1815 | +DDL for Puzzle #74 |
| 1816 | +Bowling League |
| 1817 | +*/---------------------------------------------------- |
| 1818 | +DROP TABLE IF EXISTS ##BowlingResults; |
| 1819 | +GO |
| 1820 | + |
| 1821 | +CREATE TABLE ##BowlingResults |
| 1822 | +( |
| 1823 | +GameID INTEGER, |
| 1824 | +Bowler VARCHAR(50), |
| 1825 | +Score INTEGER, |
| 1826 | +PRIMARY KEY (GameID, Bowler) |
| 1827 | +); |
| 1828 | +GO |
| 1829 | + |
| 1830 | +INSERT INTO ##BowlingResults (GameID, Bowler, Score) VALUES |
| 1831 | +(1, 'John', 167), |
| 1832 | +(1, 'Susan', 139), |
| 1833 | +(1, 'Ralph', 95), |
| 1834 | +(1, 'Mary', 90), |
| 1835 | +(2, 'Susan', 187), |
| 1836 | +(2, 'John', 155), |
| 1837 | +(2, 'Dennis', 100), |
| 1838 | +(2, 'Anthony', 78); |
| 1839 | +GO |
| 1840 | + |
| 1841 | +/*---------------------------------------------------- |
| 1842 | +DDL for Puzzle #75 |
| 1843 | +Symmetric Matches |
| 1844 | +*/---------------------------------------------------- |
| 1845 | +DROP TABLE IF EXISTS ##Boxes; |
| 1846 | +GO |
| 1847 | + |
| 1848 | +CREATE TABLE ##Boxes |
| 1849 | +( |
| 1850 | +Box CHAR(1), |
| 1851 | +[Length] INTEGER, |
| 1852 | +Width INTEGER, |
| 1853 | +Height INTEGER |
| 1854 | +); |
| 1855 | +GO |
| 1856 | + |
| 1857 | +INSERT INTO ##Boxes (Box, [Length], Width, Height) VALUES |
| 1858 | +('A', 10, 25, 15), |
| 1859 | +('B', 15, 10, 25), |
| 1860 | +('C', 10, 15, 25), |
| 1861 | +('D', 20, 30, 30), |
| 1862 | +('E', 30, 30, 20); |
| 1863 | +GO |
| 1864 | + |
| 1865 | +/*---------------------------------------------------- |
| 1866 | +DDL for Puzzle #76 |
| 1867 | +Determine Batches |
| 1868 | +*/---------------------------------------------------- |
| 1869 | +DROP TABLE IF EXISTS ##BatchStarts; |
| 1870 | +DROP TABLE IF EXISTS ##BatchLines; |
| 1871 | +GO |
| 1872 | + |
| 1873 | +CREATE TABLE ##BatchStarts |
| 1874 | +( |
| 1875 | +Batch CHAR(1), |
| 1876 | +BatchStart INTEGER, |
| 1877 | +PRIMARY KEY (Batch, BatchStart) |
| 1878 | +); |
| 1879 | +GO |
| 1880 | + |
| 1881 | +CREATE TABLE ##BatchLines |
| 1882 | +( |
| 1883 | +Batch CHAR(1), |
| 1884 | +Line INTEGER, |
| 1885 | +Syntax VARCHAR(MAX), |
| 1886 | +PRIMARY KEY (Batch, Line) |
| 1887 | +); |
| 1888 | +GO |
| 1889 | + |
| 1890 | +INSERT INTO ##BatchStarts (Batch, BatchStart) VALUES |
| 1891 | +('A', 1), |
| 1892 | +('A', 5); |
| 1893 | +GO |
| 1894 | + |
| 1895 | +INSERT INTO ##BatchLines (Batch, Line, Syntax) VALUES |
| 1896 | +('A', 1, 'SELECT *'), |
| 1897 | +('A', 2, 'FROM Account;'), |
| 1898 | +('A', 3, 'GO'), |
| 1899 | +('A', 4, ''), |
| 1900 | +('A', 5, 'TRUNCATE TABLE Accounts;'), |
| 1901 | +('A', 6, 'GO'); |
| 1902 | +GO |
| 1903 | + |
1788 | 1904 | /*---------------------------------------------------- |
1789 | 1905 | The End |
1790 | 1906 | */---------------------------------------------------- |
0 commit comments