Alternatives à l'opérateur Intersect dans MySQL
L'opérateur INTERSECT, trouvé dans Microsoft SQL Server, renvoie des valeurs en double qui apparaissent dans les deux résultats de requête . MySQL ne dispose pas de cet opérateur, ce qui nécessite une approche alternative.
Alternatives MySQL
Pour obtenir les mêmes fonctionnalités qu'INTERSECT dans MySQL, envisagez d'utiliser :
SELECT DISTINCT value FROM table_a INNER JOIN table_b USING (value);
SELECT DISTINCT value FROM table_a WHERE (value) IN (SELECT value FROM table_b);
Exemple de requête
Considérez ce qui suit requête :
(SELECT * FROM emovis_reporting WHERE (id=3 AND cut_name= '全プロセス' AND cut_name='恐慌') ) INTERSECT ( SELECT * FROM emovis_reporting WHERE (id=3) AND ( cut_name='全プロセス' OR cut_name='恐慌') )
Alternative MySQL utilisant INNER JOIN avec DISTINCT :
SELECT DISTINCT * FROM emovis_reporting INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1 ON cut_name='恐慌';
Alternative MySQL utilisant WHERE ... IN avec DISTINCT :
SELECT DISTINCT * FROM emovis_reporting WHERE (id, cut_name) IN ( SELECT id, cut_name FROM emovis_reporting WHERE>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!