2

SQLiteで複数のデータベースに対してクエリを実行していますが、クエリで .* を使用すると問題が発生します。ATTACH 関数を使用して両方のデータベースを参照することに成功しました。

dbOne.execute("ATTACH DATABASE 'dbOne.sql' as db1");
dbOne.execute("ATTACH DATABASE 'dbTwo.sql' as db2");

このクエリでは、構文エラー (* 付近の構文エラー) が表示されます。

dbOne.execute("SELECT db2.myTable.* FROM db2.myTable");

できますdb2.myTable.*か?それとも、個々の列を一度に 1 つずつ選択する必要がありますか?

SELECT db2.myTable.columnA, db2.myTable.columnB, db2.myTable.columnC, etc.

ありがとう!

4

1 に答える 1

3

これをまだ解決していない場合は、これでうまくいきます。

a)dbOne.execute("SELECT * FROM db2.myTable");

b)dbOne.execute("SELECT abc.* FROM db2.myTable abc");

また、接続されているすべてのデータベースでテーブル名が一意である場合は、データベース名を指定する必要はありません。

b) 複数のテーブルを選択または結合する場合によく使用されます。

SELECT abc.*, xyz.* FROM db2.myTable abc, db1.myOtherTable xyz

于 2012-12-19T07:52:56.223 に答える