sql“with”子句-错误代码:1046未选择数据库通过在架构中双击数据库名称来选择要使用的默认数据库

ef1yzkbh  于 2021-06-23  发布在  Mysql
关注(0)|答案(3)|浏览(526)

我有以下查询,可以正常工作:

select a.dataId, a.my_no,  b.my_attribute  from myDB.table_a a left join myDB.table_b b 
on a.my_no = b.my_no order by dataId

但是,如果我包括 with 条款如下:

with my_table as (
    select a.dataId, a.my_no,  b.my_attribute  from myDB.table_a a left join myDB.table_b b 
    on a.my_no = b.my_no order by dataId
)

select * from my_table

我得到以下错误:

Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.

这让人困惑。。。这两个查询不应该是相同的吗?我做错什么了(我正在使用mariadb服务器)谢谢!

baubqpgj

baubqpgj1#

只要做:

select * from myDB.my_table

同样有效。

2ic8powd

2ic8powd2#

WITH 子句中,您应该指定与一起使用的数据库

USE db_name;

这应该能解决问题。

vshtjzan

vshtjzan3#

区别是什么?仔细观察:

select ... myDB.table_a ...

with            table_a ...

相关问题