Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带子查询的SqLite Delete命令_Sqlite_Subquery_Sql Delete - Fatal编程技术网

带子查询的SqLite Delete命令

带子查询的SqLite Delete命令,sqlite,subquery,sql-delete,Sqlite,Subquery,Sql Delete,我有以下疑问: SELECT * FROM ( SELECT * FROM pojmovi WHERE pojam LIKE '%og' ) WHERE pojam NOT LIKE '%olog'; 这与预期一样有效,从以“og”结尾但不以“olog”结尾的pojmovi列中选择all,现在,我想删除这些结果,所以我尝试如下操作: DELETE FROM ( SELECT * FROM pojmovi WHERE pojam LIKE '%og' ) WHERE pojam

我有以下疑问:

SELECT * FROM (
    SELECT * FROM pojmovi WHERE pojam LIKE '%og'
) WHERE pojam NOT LIKE '%olog';
这与预期一样有效,从以“og”结尾但不以“olog”结尾的pojmovi列中选择all,现在,我想删除这些结果,所以我尝试如下操作:

DELETE FROM (
    SELECT * FROM pojmovi WHERE pojam LIKE '%og'
) WHERE pojam NOT LIKE '%olog';
这个查询会导致near:syntax错误
这在sqlite中是可能的吗?

这不可能按您所希望的那样工作-您试图从中间查询结果中删除,这毫无意义,也是不允许的。从中删除后,需要指定实际的表。大概是这样的:

 DELETE FROM pojmovi WHERE ( pojam LIKE '%og' ) AND (pojam NOT LIKE '%olog' );
怎么样

SELECT * FROM pojmovi WHERE pojam LIKE '%og' and pojam NOT LIKE '%olog';


您的查询速度会很慢,因为它们无法使用索引,因为您正在执行%之类的操作。

感谢您的帮助和时间。在做了一些实验之后,我提出了这个查询,据我所知,它可以按预期工作:从pojmovi中删除SELECT id中的id从SELECT*从pojmovi中删除pojam,其中pojam类似于“%og”,而pojam不类似于“%olog”
DELETE FROM pojmovi WHERE pojam LIKE '%og' and pojam NOT LIKE '%olog';