0
をエントリを選択:MSGIDは、テーブル「USER1」または「user2が」ではありません、私はテーブルからすべてのエントリを選択したいMySQLの - 私は3つのテーブル持って指定されたテーブルに存在しない
mysql> describe messages;
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| msgID | varchar(36) | YES | | NULL | |
| time | mediumtext | YES | | NULL | |
| sender | varchar(10) | YES | | NULL | |
| hash | varchar(44) | YES | | NULL | |
| msg | varchar(400) | YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
mysql> describe user1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| msgID | varchar(36) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
mysql> describe user2;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| msgID | varchar(36) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
を「メッセージ」。
私はこの試みた:
mysql> select * from messages where msgID not in
(select msgID from user1)
union
(select msgID from user2);
をしかし、それは、次のエラーが発生しました:
ERROR 1222 (21000): The used SELECT statements have a different number
of columns
私は 'MSGID' で*を置き換えますが、結果は正しくありませんでした。
どうすればよいですか?
「ユーザー」テーブルの数は、2つ以上になる可能性があります。そのためには、解決策が十分に柔軟でなければなりません。