私は別のクエリから取得したデータを使ってテーブルを "アップグレード"する必要があります。私は挿入する必要があるので、欠けている値を追加していますが、私はそれを正しくするように思えます。mysqlは複数行のクエリ結果をテーブルに挿入します
先のテーブルには、次の
CREATE TABLE `documentcounters` (
`UID` int,
`DataChar`,
`SeqNum` ,
`LastSignature`,
`DocumentType`,
`SalesTerminal`,
`Active`,
PRIMARY KEY (`UID`)
) ENGINE=InnoDB
であると私は
INSERT INTO documentcounters
SELECT Q1.in_headers, -1,NULL, 17,0,0 FROM
(SELECT DISTINCT(DocumentSeries) as in_headers FROM transactionsheaders)AS Q1
LEFT JOIN
(SELECT DISTINCT(DataChar) as in_counters FROM documentcounters)AS Q2
ON Q1.in_headers=Q2.in_counters WHERE Q2.in_counters IS NULL;
私はinsert文は、それを作成したいので、私はUIDを残し
ような何かをしようとしていますが、私は取得します「列数が一致しません」
INSERT INTO `documentcounters`
(`DataChar`,`SeqNum`,`LastSignature`,`DocumentType`,`SalesTerminal`,`Active`)
VALUES
(
(SELECT Q1.in_headers FROM
(SELECT DISTINCT(DocumentSeries) as in_headers FROM transactionsheaders)AS Q1
LEFT JOIN
(SELECT DISTINCT(DataChar) as in_counters FROM documentcounters)AS Q2
ON Q1.in_headers=Q2.in_counters WHERE Q2.in_counters IS NULL),-1,NULL,17,0,0
);
は、「サブクエリが1行以上を返します」というエラーが発生します。
どのように私はこの作品を作ることができますか?
乾杯
サブクエリを個別に実行すると、1つのレコードのみが返されますか? @ Robert。 – Robert
いいえ、私は複数のレコードを持つことができます –