使用连接和条件组合一列

时间:2016-04-14 01:27:01

标签: php mysql

你好sql专业人士请帮助我,我被困在这里。

如果条件匹配,我需要获得这些id组合

printf("Foo %d\n", 10);

printf("Bar %d\n", 20);

查询后我会得到结果

(3, '', 'Gi', 'Blue', 'Male', 'Adult', 'Absolute', '2016-02-09 14:45:35', '2016-02-09 14:45:35'),
(4, '', 'Gi', 'Blue', 'Female', 'Adult', 'Absolute', '2016-02-09 14:45:35', '2016-02-09 14:45:35')

但是对于第一行它没有女性部分我也想要

类似

3,4

我有这样的表结构

2
3,4
..
.
..

所以我在做这个查询

CREATE TABLE IF NOT EXISTS `wp_divisions` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `division_type` varchar(20) NOT NULL,
  `experience_level` varchar(20) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `age_level` varchar(20) NOT NULL,
  `weight_class` varchar(20) NOT NULL,
  `created` datetime NOT NULL,
  `modified` datetime NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


INSERT INTO `wp_divisions` (`ID`, `name`, `division_type`, `experience_level`, `gender`, `age_level`, `weight_class`, `created`, `modified`) VALUES
(2, '', 'Gi', 'Black', 'Male', 'Adult', 'Absolute', '2016-02-09 14:45:35', '2016-02-09 14:45:35'),
(3, '', 'Gi', 'Blue', 'Male', 'Adult', 'Absolute', '2016-02-09 14:45:35', '2016-02-09 14:45:35'),
(4, '', 'Gi', 'Blue', 'Female', 'Adult', 'Absolute', '2016-02-09 14:45:35', '2016-02-09 14:45:35')

1 个答案:

答案 0 :(得分:1)

我想你可能会尝试这样做

SELECT GROUP_CONCAT(ID) as DVID,
       division_type,
       experience_level,
       age_level,
       weight_class
FROM wp_divisions
GROUP BY division_type,
       experience_level,
       age_level,
       weight_class

sqlfiddle