2017-07-30 4 views
-3

ジョインを含むいくつかのステートメントを試しましたが、他の3つのMySQLテーブルのデータを1つに挿入できませんでした。私の最後の試みで、このエラーが発生しました:エラーコード:1222.使用されたSELECTステートメントの列数が異なります 入力したクエリについては下記を参照してください。 (すべてのヘルプは高く評価されています。私は、コードに新しいので、私はかなりまだMySQLで初心者です。ありがとうございました。)エラーコード:1222.使用されたSELECTステートメントの列数が異なります

INSERT INTO cases (person_id, last_name, first_name, date_applied) 
SELECT person_id, last_name, first_name, 
date_applied FROM person UNION SELECT (program_name) FROM program 
UNION SELECT (status) FROM casestatus 
+0

テーブル構造を共有できますか? – Mureinik

+0

ケース、ケース状況、人、プログラムの4つのテーブルがあります。 'cases'テーブルには、他の3つのテーブルの外部キーがあります。 'cases'テーブルには次のカラムがあります。 (自動的に生成される)、date_applied、year、client_name、およびstatusが含まれます。 'person'テーブルには、person_id、first_name、last_name、birth_date、gender、およびssnという列があります。 'program'テーブルの列はprogram_nameです。 'case status'テーブルにはstatusというカラムがあります。 –

+0

ありがとうございます。それは意味がある、私はステートメントを編集し、テーブルにデータを挿入することができました。 –

答えて

1

SELECT文UNIONキーワードは4列が、SELECT文を選択する前にUNIONキーワードの後に​​1列のみが選択されます。異なる数の列を持つUNIONを構築することはできません。これは、「異なる数の列」に関するこのエラーメッセージが表示される理由です。

関連する問題