我试图在查询中插入一些带有多个选择的值,但是在where子句错误中给出了我未知的列'rate'
INSERT INTO oc_tax_rule (tax_class_id, tax_rate_id, based, priority)
VALUES (
(SELECT tax_class_id FROM oc_tax_class WHERE title LIKE '%0%'),
(SELECT tax_rate_id FROM oc_tax_rate WHERE rate ='0'),
'store', 1)
答案 0 :(得分:1)
你可能正在寻找这个:
INSERT INTO oc_tax_rule (tax_class_id, tax_rate_id, based, priority)
SELECT
(SELECT tax_class_id FROM oc_tax_class WHERE title LIKE '%0%' LIMIT 1),
(SELECT tax_rate_id FROM oc_tax_rate WHERE rate ='0' LIMIT 1),
'store',
1
select query将只返回一行,第一列和第二列是两个select查询的结果 - 您可能需要添加LIMIT 1以确保只返回一行