SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • segtlim

    segtlim

    21 EKİM 2008
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006