我有两张桌子。
表A是需要按问题类型过滤的问题列表。 例如SELECT * from TableA WHERE Qtype =“whatever”
然后我需要为TableA上的查询提取的每条记录向表B添加四条新记录。
表A和表B加入ID号 - TableA.id = TableB.questionid
我假设我需要运行四次,每次添加一条记录。
我对FOR EACH命令和INNER JOIN
一起感到困惑非常感谢任何帮助!
答案 0 :(得分:3)
我担心我仍然无法完全理解您的问题,但是对于TableB
的每条记录,这将为TableA
插入三条记录,其中newfield
有三个不同的值:
INSERT INTO TableB (ID, newfield) (
SELECT a.ID, n.newfield
FROM (
SELECT 'Excellent' AS newfield UNION ALL
SELECT 'Something' UNION ALL
SELECT 'Something else'
) n
CROSS JOIN TableA a
)
答案 1 :(得分:2)
试试4次:
INSERT INTO TableB (questionid, otherfieldB)
VALUES (
SELECT id, otherfieldA
FROM TableA
WHERE Qtype = "whatever"
)