Comment puis-je retourner les correspondances de deux tables.Obtenir des correspondances à partir de plusieurs tables dans MySQL
Tableau 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;
Tableau 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;
maintenant je veux créer une requête qui sélectionne tous les champs qui ont des matchs sur les deux tables. Et si possible une autre ligne qui indique combien de champs correspondants il a par ligne.
ces tables sont essentiellement identiques, à l'exception du nom de la table - pourquoi ne pas modéliser les éléments 'lost' et 'found' sous forme de table unique avec différents champs 'status' ou 'type' pour représenter si elle est perdue ou a trouvé? plus simple. vos requêtes pour ensuite agréger par un type ou un autre sont également plus faciles. –
Créer une 'vue' avec' inner join' sur les tables et 'insert' dans une autre table comme' insert dans select select * de matching_view_v; ' – Viki888