我一直在搜索mysql文档、google和stackoverflow,但是找不到适合我需要的解决方案。
我有两个表:contract:contract\u id,contract\u client\u id,contract\u property\u id,contract\u tenant\u id,contract\u startdate,contract\u enddate,contract\u price
分类帐:分类帐id、分类帐事务处理日期、分类帐期间、分类帐属性id、分类帐租户id、分类帐值
我想用合同表中的一些列填充分类帐,并使用以下语句:
INSERT INTO ledger (ledger_trans_date, ledger_period, ledger_property_id,
ledger_tenant_id, ledger_value)
VALUES ('01-08-2018', '01-08-2018', (SELECT contract_property_id,
contract_tenant_id, contract_price FROM contract));
但是我得到了以下错误:错误代码:1136。列计数与第1行的值计数不匹配。
我也试过这个:
INSERT INTO ledger (ledger_trans_date, ledger_period, ledger_property_id,
ledger_tenant_id, ledger_value)
VALUES ('01-08-2018', '01-08-2018',
(SELECT contract_property_id FROM contract),
(SELECT contract_tenant_id FROM contract),
(SELECT contract_price FROM contract));
但是我得到了以下错误:错误代码:1242。子查询返回多于1行。
我希望有人能帮我,告诉我哪里出了问题。。。如果您需要更多的信息,请随时询问。
提前多谢了。
1条答案
按热度按时间2ic8powd1#
这样做: