此查询从我的第一个表中选择所有行,其中第二个表中不存在行ID:
SELECT *
FROM table1
WHERE NOT EXISTS (SELECT idTable1 FROM table2 WHERE table1.id=idTable1
此查询选择table1
中存在的所有table2
行,其最后一个ID为table2
(因为table1
的一行可以有多行{ {1}}但只有最后一点不会忘记):
table2
我想将两个查询重新组合成一个,我想在SELECT *
FROM table2
INNER JOIN table 1 ON idTable1 = table1.id
WHERE table2.id IN (SELECT MAX(actioncur.id) FROM table2 GROUP BY idTable1)
中不存在id时选择table1
的所有行,并为最后{{1}选择所有table2
1}} id。例如,我想选择:第1行 - > id = 44; table2.id = 187; idTable1 = 44。第2行 - > id = 45; table2.id =? ; idTable1 =?
答案 0 :(得分:0)
如果我理解正确,您可以使用相关子查询:
w_sheet.write(nrow,int(i),dict1.get(i))
ValueError: invalid literal for int() with base 10: 'IP'
您也可以使用SELECT t1.*,
(SELECT MAX(t2.id)
FROM table2 t2
WHERE t1.id = t2.idTable1
) as max_t2id
FROM table1 t1;
和LEFT JOIN
:
GROUP BY