Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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查询_Sql_Sqlite - Fatal编程技术网

每行sqlite查询

每行sqlite查询,sql,sqlite,Sql,Sqlite,对sqlite(和sql)来说是相当新的。对于表中的每一行,我想进行查询并附加到另一个表中。我当前的计划是提取向量中的所有项,并为向量中的每个项调用sqlite。这可以通过一个sqlite语句来实现吗?在c/c++中。 先谢谢你 编辑:我的一个想法是在一张新桌子上做一个触发器。对于每个新添加的行,触发器将使用该行对该行进行查询 例如: create table Persons(Id, FirstName, LastName); create table ParentChildren(Person

对sqlite(和sql)来说是相当新的。对于表中的每一行,我想进行查询并附加到另一个表中。我当前的计划是提取向量中的所有项,并为向量中的每个项调用sqlite。这可以通过一个sqlite语句来实现吗?在c/c++中。 先谢谢你

编辑:我的一个想法是在一张新桌子上做一个触发器。对于每个新添加的行,触发器将使用该行对该行进行查询

例如:

create table Persons(Id, FirstName, LastName);
create table ParentChildren(PersonsIdParent, PersonsIdChild);

对于每个人,创建一个所有可能的孩子的列表(例如,相同的姓氏),并添加到ParentChildren。

是的,您可以在不离开数据库的情况下执行这类操作:

insert into table1 (column11, column12, ...)
select column21, column22, ...
from table2
where ...
只要选定的列具有正确的类型,输入到INSERT的查询就可以根据需要变得复杂


现在我们知道了您的表的外观,您只需将人员连接到自身:

insert into ParentChildren (PersonsIdParent, PersonsIdChild)
select p.Id, c.Id
from Persons p
join Persons c on p.LastName = c.LastName
where p.Id <> c.Id
插入到ParentChild(PersonsIdParent,PersonsIdChild)
选择p.Id、c.Id
来自p
在p.LastName=c.LastName上加入人员c
其中p.Id c.Id

只要使用唯一的别名,就可以将表连接到其自身。需要
p.Id c.Id
条件,以避免试图让某人成为自己的孩子。

是的,您可以在不离开数据库的情况下执行这类操作:

insert into table1 (column11, column12, ...)
select column21, column22, ...
from table2
where ...
只要选定的列具有正确的类型,输入到INSERT的查询就可以根据需要变得复杂


现在我们知道了您的表的外观,您只需将人员连接到自身:

insert into ParentChildren (PersonsIdParent, PersonsIdChild)
select p.Id, c.Id
from Persons p
join Persons c on p.LastName = c.LastName
where p.Id <> c.Id
插入到ParentChild(PersonsIdParent,PersonsIdChild)
选择p.Id、c.Id
来自p
在p.LastName=c.LastName上加入人员c
其中p.Id c.Id

只要使用唯一的别名,就可以将表连接到其自身。
p.Id c.Id
条件是避免试图让某人成为自己的孩子所必需的。

您所要求的只是将每个人链接到相同的
Lastname
(我排除了加入一个自己):

插入到PersonsChildren中
选择p.Id、c.Id
来自p
使用(姓氏)加入人员c
其中p.Id c.Id
以1,2的顺序排列

使用
SELECT
查询可以随时检索信息。无需立即在PersonsChildren中添加冗余条目。除此之外还有更多的问题。

你所问的只是将每个人链接到每个其他同名的人(我排除了加入一个自己):

插入到PersonsChildren中
选择p.Id、c.Id
来自p
使用(姓氏)加入人员c
其中p.Id c.Id
以1,2的顺序排列

使用
SELECT
查询可以随时检索信息。无需立即在PersonsChildren中添加冗余条目。除此之外,还有更多问题。

这部分回答了这个问题。我仍然不知道从表2中选择的每行进行查询的语法。谢谢。@Jobobobo:也许你可以在问题中包括你的表格和你想选择的内容。我已经用Persons和ParentChildren的例子更新了上面的问题。再次感谢你。这部分回答了这个问题。我仍然不知道从表2中选择的每行进行查询的语法。谢谢。@Jobobobo:也许你可以在问题中包括你的表格和你想选择的内容。我已经用Persons和ParentChildren的例子更新了上面的问题。再次感谢你。