Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
对于每个循环SQL_Sql_Loops_Insert - Fatal编程技术网

对于每个循环SQL

对于每个循环SQL,sql,loops,insert,Sql,Loops,Insert,表1 身份证 表2 身份证 表3 id |表1|表2|id 我需要SQL(使用MySQL)语句用于: for each row in table1 { for each row in table2 { insert in table3 values table1.id, table2.id; } 是否存在insert/select语句?或者我必须使用循环吗?您根本不需要使用循环。在使用关系数据库时,应该考虑集合 以下是实现这一目标的正确方法。首先使用交叉连接创建表1和表2中

表1

身份证

表2

身份证

表3

id |表1|表2|id

我需要SQL(使用MySQL)语句用于:

for each row in table1 {
   for each row in table2 {
       insert in table3 values table1.id, table2.id;
}

是否存在insert/select语句?或者我必须使用循环吗?

您根本不需要使用循环。在使用关系数据库时,应该考虑集合

以下是实现这一目标的正确方法。首先使用
交叉连接
创建表1和表2中所有ID组合的笛卡尔集。然后将整个集合插入表3 注意:我假设Table3 ID是一个自动编号

INSERT INTO TABLE3 (TABLE1_ID,TABLE2_ID)
SELECT  T1.ID
        ,T2.ID
FROM    TABLE1 T1
CROSS JOIN
        TABLE2 T2