MySQL使用左连接时重复列值

标签 mysql sql

我有表格并插入:

CREATE TABLE IF NOT EXISTS `klik_zona` (
  `kode_zona` int(10) unsigned NOT NULL,
  `klik` int(10) unsigned NOT NULL,
  PRIMARY KEY (`kode_zona`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `klik_zona` (`kode_zona`, `klik`) VALUES
(1, 45);

CREATE TABLE IF NOT EXISTS `tampil_zona` (
  `kode_zona` int(10) unsigned NOT NULL,
  `tanggal` date NOT NULL,
  `tampil` int(10) unsigned NOT NULL,
  PRIMARY KEY (`kode_zona`,`tanggal`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `tampil_zona` (`kode_zona`, `tanggal`, `tampil`) VALUES
(1, '2014-03-16', 100),
(1, '2014-03-17', 23);

CREATE TABLE IF NOT EXISTS `zona_iklan` (
  `kode_zona` int(10) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`kode_zona`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

INSERT INTO `zona_iklan` (`kode_zona`) VALUES
(1),
(2),
(3);

我有一个疑问如下:

SELECT z.kode_zona, SUM( tz.tampil ) , SUM( kz.klik )
FROM zona_iklan z
LEFT JOIN tampil_zona tz ON tz.kode_zona = z.kode_zona
LEFT JOIN klik_zona kz ON kz.kode_zona = z.kode_zona
GROUP BY z.kode_zona

但它给出了结果:

kode_zona   SUM(tz.tampil)  SUM(kz.klik)    
1                123        90
2                NULL      NULL
3                NULL      NULL

我希望得到结果:

kode_zona   SUM(tz.tampil)  SUM(kz.klik)    
1                123        45
2                NULL      NULL
3                NULL      NULL

请谁能帮帮我。如何进行查询,使其显示为我希望得到的结果..

谢谢。

最佳答案

尝试这个查询:

SELECT distinct z.kode_zona, SUM(distinct tz.tampil ) , SUM(distinct kz.klik )
FROM zona_iklan z
LEFT JOIN tampil_zona tz ON z.kode_zona = tz.kode_zona 
LEFT JOIN klik_zona kz ON z.kode_zona = kz.kode_zona
GROUP BY z.kode_zona

我想,这就是你想要的

关于MySQL使用左连接时重复列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22440983/

相关文章:

php - 检查连接表是否为空 [PHP & MYSQL]

javascript - PHP MySqli 查询无法正常工作,但脚本标记内没有错误

c# - 使用二进制列作为比较标准

sql - T-SQL 将一组行与其他行组进行比较

mysql - 如何编写 COUNT(DISTINCT()) 查询?

php - MySQL SELECT 返回旧值

php - MySQL统计查询优化

mysql - 选择出现次数为零的每月计数

javascript - 使用 MySQL 和 PHP 进行 Bootstrap 表分页

mysql - 连接两个表和两个联结表