{"database": "ctc-catalogue", "table": "sudoku_puzzles", "is_view": false, "human_description_en": "where Constraints contains \"Incomplete Clues\", Setter contains \"Gabriel Kammer\" and Solver contains \"Mark\" sorted by Id descending", "rows": [[8699, "Mistyped", "2026-06-10", "[\"Mark\"]", "[\"Gabriel Kammer\"]", "[\"Incomplete Clues\",\"Liar\",\"Sums\"]", "{\"alt\":\"When Errors are Acceptable in Sudoku\",\"caption\":\"When Errors are Acceptable in Sudoku\",\"img_src\":\"https://img.youtube.com/vi/Z30hHxCO7cA/mqdefault.jpg\",\"href\":\"https://www.youtube.com/watch?v=Z30hHxCO7cA\"}", "00:48:51", 49]], "truncated": false, "filtered_table_rows_count": 1, "expanded_columns": [], "expandable_columns": [], "columns": ["Id", "Puzzle Title", "Date", "Solver", "Setter", "Constraints", "Video", "Video Length", "Video Length (Minutes)"], "primary_keys": ["Id"], "units": {"Video Length (Minutes)": "minute"}, "query": {"sql": "select Id, [Puzzle Title], Date, Solver, Setter, Constraints, Video, [Video Length], [Video Length (Minutes)] from sudoku_puzzles where :p0 in (select value from json_each([sudoku_puzzles].[Constraints])) and :p1 in (select value from json_each([sudoku_puzzles].[Setter])) and :p2 in (select value from json_each([sudoku_puzzles].[Solver])) order by Id desc limit 101", "params": {"p0": "Incomplete Clues", "p1": "Gabriel Kammer", "p2": "Mark"}}, "facet_results": {}, "suggested_facets": [], "next": null, "next_url": null, "private": false, "allow_execute_sql": true, "query_ms": 3270.1236989996687, "source": "Cracking the Cryptic Catalogue", "source_url": "https://docs.google.com/spreadsheets/d/1rVqAjm-l_Urjd3TNmIc3SmTmz_OlgSoBuhY7RPgiuRg/edit?usp=sharing"}