【发布时间】:2011-11-08 11:07:08
【问题描述】:
INSERT INTO TextTable(Number, Tokens)
SELECT
(SELECT ID FROM Tureme WHERE leksem IN
(SELECT Tokens FROM Text)),
(SELECT Tokens FROM Text WHERE Tokens IN
(SELECT leksem FROM Tureme));
TextTable 有两列-> Number,Tokens Tureme 有两列 -> ID(Primary Key), leksem 和 文本有一列 -> 标记
我的桌子:
TextTable 为空。
我正在尝试将这些子查询的结果插入到 TextTable 中。子查询单独工作完美。但是,当我一起运行它时,它不会插入子查询的结果,并且会报错:
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。 声明已终止。
我该怎么办?
第一个子查询返回: 第二个子查询返回:
ID 令牌
4 apple
6 melon
9 pear
我想用这些值填充 TextTable。
【问题讨论】:
-
您应该使用联接而不是子查询。
-
请展示一些示例数据。子查询甚至返回相同数量的行吗?左侧子查询中的行应该如何与右侧的行相关联?