12 NİSAN 2010, PAZARTESİ
Alternatif MySQL Kesiştiği
MySQL aşağıdaki sorgu uygulamaya ihtiyacım var.
(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='恐慌') )
Bilgisayar MySQL olmadığını biliyorum. Başka bir yolunu bulmam gerek. Bana yol lütfen.
CEVAP
8 Temmuz 2010, PERŞEMBE
Microsoft SQL Server INTERSECT
< . em ^"döner soldaki sorgu ve INTERSECT işlenen her iki tarafı sağ tarafından döndürülen farklı değerleri"Bu INNER JOIN
WHERE EXISTS
standart bir sorgu farklıdır.
SQL Server
CREATE TABLE table_a (
id INT PRIMARY KEY,
value VARCHAR(255)
);
CREATE TABLE table_b (
id INT PRIMARY KEY,
value VARCHAR(255)
);
INSERT INTO table_a VALUES (1, 'A'), (2, 'B'), (3, 'B');
INSERT INTO table_b VALUES (1, 'B');
SELECT value FROM table_a
INTERSECT
SELECT value FROM table_b
value
-----
B
(1 rows affected)
MySQL
CREATE TABLE `table_a` (
`id` INT NOT NULL AUTO_INCREMENT,
`value` varchar(255),
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `table_b` LIKE `table_a`;
INSERT INTO table_a VALUES (1, 'A'), (2, 'B'), (3, 'B');
INSERT INTO table_b VALUES (1, 'B');
SELECT value FROM table_a
INNER JOIN table_b
USING (value);
-------
| value |
-------
| B |
| B |
-------
2 rows in set (0.00 sec)
SELECT value FROM table_a
WHERE (value) IN
(SELECT value FROM table_b);
-------
| value |
-------
| B |
| B |
-------
Bu özel soru, kimlik sütunu dahil, çok yinelenen değerleri geriye iade edilmeyecektir, ama uğruna bütünlüğü, işte bir alternatif MySQL kullanarak INNER JOIN
DISTINCT
:
SELECT DISTINCT value FROM table_a
INNER JOIN table_b
USING (value);
-------
| value |
-------
| B |
-------
Ve başka bir örnek WHERE ... IN
DISTINCT
kullanarak:
SELECT DISTINCT value FROM table_a
WHERE (value) IN
(SELECT value FROM table_b);
-------
| value |
-------
| B |
-------
Bunu Paylaş:
Uyarı: () mysql_connect: [2002] böyle ...
MySQL varchar eşdeğeri(max)?...
Satır kopyalama, ama birkaç alan değiş...
8-bit gömülü sistemler üzerinde kullan...
GROUP_CONCAT virgül ayırıcı - MySQL...