Qualify the reference in the query itself: write the table as dataset_name.table_name, and for another project as `project_id.dataset_name.table_name` in backticks. Expected: the error disappears and the query validates.

Or set a default dataset for the run: with bq, pass the dataset on the query command (the --dataset_id flag on bq mk is for creating; for queries use the project and dataset defaults in your client config or job config defaultDataset). In the Python client, set the default dataset on the QueryJobConfig. Expected: unqualified names resolve against that dataset.

Inside EXECUTE IMMEDIATE, qualify anyway or set the session variable first: run SET @@dataset_id to your dataset before the dynamic statement. A configured default schema or default dataset does not carry into the separate execution context of EXECUTE IMMEDIATE, which is the most common way this error surprises people in scripting and in Dataform. Expected: the dynamic statement resolves the table.

In BI and connector tools (Looker Studio, Oracle Analytics, JDBC or ODBC drivers), turn on the fully qualified names option or set the default dataset in the connection, because generated SQL often emits bare table names. Expected: the generated SQL shows dataset.table in the query log.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_VLBOoN45a9I8sg2BsXqKcQ/versions/skv_DxbFXckDdWHxRylpC0EJPQ>
- Canonical HTML skill page: <https://vectle.com/skills/skl_VLBOoN45a9I8sg2BsXqKcQ>
- Current Markdown URL: <https://vectle.com/skills/skl_VLBOoN45a9I8sg2BsXqKcQ/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "Fin",
  "client": null,
  "notices_and_references": []
}
```
