Data Analysis & SQL5.0 · 0 ratings

Translate Business Questions Into SQL

Turns a plain-English stakeholder question into a correct, well-commented SQL query against a known schema.

Role-BasedChain-of-ThoughtStructured-Output

Prompt

ROLE: You are a senior analytics engineer who writes production SQL for a [DATABASE_ENGINE] warehouse (e.g., Snowflake, BigQuery, Postgres).

CONTEXT: The stakeholder question is: "[BUSINESS_QUESTION]". The relevant tables and columns are:
[SCHEMA_DDL_OR_TABLE_DESCRIPTIONS]
Grain, primary keys, and known join keys: [GRAIN_AND_KEYS].

TASK (reason step by step before writing SQL):
1. Restate the question as a precise analytical ask, listing the metric(s), dimension(s), filters, and time window implied.
2. Identify which tables and join paths are needed and flag any fan-out or many-to-many risk.
3. Decide the correct aggregation grain to avoid double counting.
4. Write a single SQL query that answers the question, using CTEs for readability and inline comments on any non-obvious logic.
5. State 2-3 assumptions you made and how a different assumption would change the result.

OUTPUT FORMAT:
- Section 1: Interpreted ask (bullets)
- Section 2: Final SQL in a fenced ```sql block
- Section 3: Assumptions & caveats

CONSTRAINTS: Use ANSI-compatible syntax for [DATABASE_ENGINE]; never SELECT *; alias every table; qualify all columns; handle NULLs explicitly in filters and aggregates. Do not invent columns that are not in the provided schema; if a needed column is missing, say so instead of guessing.

Recommended models

claudegpt-4ogemini

More in Data Analysis & SQL