我正在尝试执行以下操作:
INSERT INTO `File` (`Name`, `Owner`)
SELECT @File, `Users`.Id
FROM `Users`
WHERE `Users`.`Name` = @UserName
但是,如果Users表中没有匹配项,我希望它仍然插入文件但是具有空值。就像在Users表上执行LEFT JOIN一样,用ON替换WHERE。但是我不能只使用LEFT JOIN,因为我没有表来加入它。任何人都可以帮助我如何做到这一点,而不是将其分成两个单独的查询?
这是专门针对SQLite的。
答案 0 :(得分:0)
也许这样的事情可以解决问题:
INSERT INTO `File` (`Name`, `Owner`)
SELECT @File, `Users`.Id
FROM (SELECT @UserName as Name) notable
left join `Users` on `Users`.`Name` = notable.Name