SQL Generation

Turn plain-English questions into correct SQL against a schema. The skill behind analytics chat, natural-language dashboards, and 'just ask the database' interfaces.

0
Duration
13s
Input Tokens
1537
Output Tokens
197
Cost
$0.00
Context
Input
Hi I'm Oscar that enrolled in 2018, I don't remember what courses I completed, can you help me?
Expected output
SELECT DISTINCT c.title FROM users u JOIN enrollments e ON u.user_id = e.user_id JOIN lessons l ON l.course_id = e.course_id JOIN completions cp ON cp.lesson_id = l.lesson_id AND cp.user_id = u.user_id JOIN courses c ON c.course_id = l.course_id WHERE u.name ILIKE '%oscar%' AND DATE_TRUNC('year', e.enrolled_at) = DATE '2018-01-01';
Model output
SELECT DISTINCT cv.title AS version_title, cv.version_number, c.title AS course_title
FROM
  users u
  JOIN enrollments e ON u.user_id = e.user_id
  JOIN course_versions cv ON e.course_id = cv.course_id
  JOIN courses c ON cv.course_id = c.course_id
  LEFT JOIN completions co ON e.lesson_id = co.lesson_id
WHERE
  u.name = 'Oscar' AND co.status = 'completed' AND e.status = 'completed'