1
2つのテーブルの一致を返すにはどうすればよいですか?MySQLの複数のテーブルから一致を取得する
表1:
CREATE TABLE `lost` (
`id` int(11) NOT NULL,
`firstName` int(100) NOT NULL,
`lastName` varchar(100) NOT NULL,
`country` varchar(2) NOT NULL,
`address` varchar(100) NOT NULL,
`email` varchar(120) NOT NULL,
`color` varchar(32) NOT NULL,
`location` varchar(100) NOT NULL,
`airport` int(11) NOT NULL,
`dateReported` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
は表2:
CREATE TABLE `found` (
`id` int(11) NOT NULL,
`firstName` int(100) NOT NULL,
`lastName` varchar(100) NOT NULL,
`country` varchar(2) NOT NULL,
`address` varchar(100) NOT NULL,
`email` varchar(120) NOT NULL,
`color` varchar(32) NOT NULL,
`location` varchar(100) NOT NULL,
`airport` int(11) NOT NULL,
`dateReported` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
今私は両方のテーブル上の任意のマッチを持っているすべてのフィールドを選択するクエリを作成したいです。 可能であれば、行ごとにいくつの一致するフィールドがあるかを示す別の行。
実際のテーブル名を除いて、これらのテーブルは本質的に同一です。なぜなら、 'lost'と 'found'アイテムの両方を、 'status'フィールドまたは 'type'フィールドが異なる単一のテーブルとしてモデル化して、見つけた?簡単です。 1つのタイプまたは別のタイプで集約するクエリも同様に簡単です。 –
両方のテーブルで 'inner join'を使って' view'を作成し、 'insert into matching select * from matching_view_v; 'のように別のテーブルに' insert'を行います。 – Viki888