gpt4 book ai didi

sqlite - SQLite3从一个表获取输出作为另一表的输入

转载 作者:行者123 更新时间:2023-12-03 19:07:12 24 4
gpt4 key购买 nike

表1包含以下列

问题
11
t2

t1和t2为INT

问题是来自t1,t2的结果

t1可以是1,2,3,4,5
t2可以是6,7,8,9,10

我可以写一个SQL查询说

从表1中选择*(t1 = 1或t1 = 2或t1 = 3或t1 = 4或t1 = 5)AND(t2 = 6或t2 = 7或t2 = 8或t2 = 9或t2 = 10)

但是,我不想写出整个表达式(如上所示),而是将其存储到另一个表(称为Table2)中

表2包含以下列
数据输入
数据结果

data_entered为1
data_results是具有以下数据的字符串“(t1 = 1 OR t1 = 2 OR t1 = 3 OR t1 = 4 OR t1 = 5)”

data_entered为2
data_results是具有以下数据的字符串“(t2 = 6 OR t2 = 7 OR t2 = 8 OR t2 = 9 OR t2 = 10)”

所以我想创建一个查询,我可以说

SELECT * from Table1 WHERE ...(并指定data_entered),结果应与上述SQL相同。

请帮忙。

谢谢

最佳答案

对于第一个查询,可以改用IN:

select * from table1 where t1 in (1,2,3,4,5) and t2 in (6,7,8,9,10);


然后,不要将SQL代码存储在table2中,而是将每个值存储在单独的行中。

create table data (entered, result);
insert into data values (1, 1);
insert into data values (1, 2);
...
insert into data values (2, 10);


然后,您可以执行以下操作:

select *
from table1
where t1 in (select result from data where entered = 1)
and t2 in (select result from data where entered = 2);

关于sqlite - SQLite3从一个表获取输出作为另一表的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4778977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com