SQlite错误:没有这样的表:使用联接时

用户名

我有两个表,它们具有第三对多关系。我正在尝试选择,但是SQLite(版本3.11.0)不断告诉我,我的其中一个不存在,这是不正确的!我不知道我在做什么错。

这是我的桌子:

DROP TABLE IF EXISTS traits;
CREATE TABLE traits(
     trait_id    INTEGER UNIQUE NOT NULL CHECK(TYPEOF(trait_id) = 'integer'),
     name        VARCHAR UNIQUE NOT NULL CHECK(TYPEOF(name) = 'text'),
     uri         VARCHAR UNIQUE NOT NULL CHECK(TYPEOF(uri) = 'text'),
     PRIMARY KEY (trait_id)
  );

DROP TABLE IF EXISTS trait_categories;
CREATE TABLE trait_categories(
     trait_category_id INTEGER UNIQUE NOT NULL CHECK(TYPEOF(trait_category_id) = 'integer'),
     efo_id            VARCHAR UNIQUE NOT NULL CHECK(TYPEOF(efo_id) = 'text'),
     name              VARCHAR UNIQUE NOT NULL CHECK(TYPEOF(name) = 'text'),
     uri               VARCHAR UNIQUE NOT NULL CHECK(TYPEOF(uri) = 'text'),
     PRIMARY KEY (trait_category_id)
  );

DROP TABLE IF EXISTS trait_categories_traits;
CREATE TABLE trait_categories_traits(
     trait_category_id INTEGER NOT NULL CHECK(TYPEOF(trait_category_id) = 'integer'),
     trait_id          INTEGER NOT NULL CHECK(TYPEOF(trait_id) = 'integer'),
     FOREIGN KEY (trait_category_id) REFERENCES trait_categories(trait_category_id),
     FOREIGN KEY (trait_id) REFERENCES traits(trait_id)
  );

这是我的SELECT失败:

SELECT trait_categories.name, traits.name
FROM trait_categories JOIN trait_categories_traits ON trait_categories_traits.trait_category_id = trait_categories.trait_category_id
                      JOIN traits.trait_id         ON trait_categories_traits.trait_id = traits.trait_id;

SQLite说:

sqlite> select trait_id from traits limit 1;
663
sqlite>     SELECT trait_categories.name, traits.name
   ...>     FROM trait_categories JOIN trait_categories_traits ON trait_categories_traits.trait_category_id = trait_categories.trait_category_id
   ...>                           JOIN traits.trait_id         ON trait_categories_traits.trait_id = traits.trait_id;
Error: no such table: traits.trait_id

请帮忙。

CL。

JOIN连接两个表,因此它需要两个表名。traits.trait_id不是表名。

您似乎想加入traits表格,因此删除.trait_id(并且当两列具有相同的名称时,使用USING更简单。)

SELECT ...
FROM trait_categories
JOIN trait_categories_traits USING (trait_category_id)
JOIN traits                  USING (trait_id);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQlite错误:“没有这样的表”

来自分类Dev

SQLite数据库错误:没有这样的表

来自分类Dev

Android :: SQLite错误:没有这样的表

来自分类Dev

Android中的SQLite问题,“没有这样的表”错误

来自分类Dev

没有这样的表Sqlite错误iOS

来自分类Dev

Android Sqlite“没有这样的表”错误

来自分类Dev

SQLite 错误:点击时没有这样的列 ListView

来自分类Dev

SQLite没有这样的表异常

来自分类Dev

SQLite(1)没有这样的表

来自分类Dev

android sqlite没有这样的表

来自分类Dev

没有这样的表(Android SQLite)

来自分类Dev

芹菜使用PostgreSQL时没有这样的表

来自分类Dev

SQLiteLog错误:“没有这样的表”

来自分类Dev

peewee“没有这样的表”错误

来自分类Dev

SQLite从嵌套内部联接的右侧没有这样的列

来自分类Dev

Android SQLite(1)没有这样的表:查看错误

来自分类Dev

迁移错误:SQLite3 :: SQLException:没有这样的表:main.users

来自分类Dev

android P中的sqlite数据库错误“没有这样的表”

来自分类Dev

没有这样的表-在SQLite Android中插入值时出错

来自分类Dev

Python sqlite3.OperationalError:没有这样的表:

来自分类Dev

Laravel测试,没有这样的表,sqlite

来自分类Dev

PHP SQLite ATTACH“没有这样的表”异常

来自分类Dev

(sqlite3.OperationalError)没有这样的表

来自分类Dev

android.database.sqlite.SQLiteException:没有这样的表

来自分类Dev

SQLite在Android上没有这样的列错误

来自分类Dev

SQLite更新行错误没有这样的列

来自分类Dev

sqlite3中没有这样的列错误

来自分类Dev

SQLite在Android上插入没有这样的列错误

来自分类Dev

Sqlite Code(1)错误,没有这样的列

Related 相关文章

热门标签

归档