ผู้สนับสนุน

วันพฤหัสบดีที่ ๑๐ กันยายน พ.ศ. ๒๕๕๒

Complement join(Outer join) ของ MySql

อยากทำ complement join(outer join) แล้วทำไม่ได้เลยมึนไปพักแล้วก็ได้แบบนี้มา
foo
idfoo_value
210
310

bar
idbar_value
21
31
41
51

จะเอาข้อมูลจาก bar มาแค่นี้ได้อย่างไร
idbar_value
41
51

ทำแบบนี้

SELECT * FROM `bar` WHERE `bar`.`id` NOT IN (SELECT `foo`.`id` FROM `foo`);

ปล. คำสั่งสร้างตาราง foo, bar
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE IF NOT EXISTS `foo` (
  `id` int(11) NOT NULL,
  `foo_value` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `foo` (`id`, `foo_value`) VALUES
(2, 10),
(3, 10);

CREATE TABLE IF NOT EXISTS `bar` (
  `id` int(11) NOT NULL,
  `bar_value` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `bar` (`id`, `bar_value`) VALUES
(2, 1),
(3, 1),
(4, 1),
(5, 1);


ไม่มีความคิดเห็น:

แสดงความคิดเห็น