web-dev-qa-db-ja.com

SQL "with"句-エラーコード:1046。データベースが選択されていませんスキーマで名前をダブルクリックして、使用するデフォルトのDBを選択します

私はうまくいく次のクエリを持っています:

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.

これは紛らわしいです...これらの2つのクエリは同一であるべきではありませんか?私はここで何を間違えましたか? (私はMariaDBサーバーを使用しています)ありがとう!

2
Edamame

WITH句の前に、使用しているデータベースを指定する必要があります

USE db_name;

それで問題は解決するはずです。

6
Ildar Akhmetov

ただ行う:

select * from myDB.my_table

同様に動作します。

1
Edamame