Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用join with condition组合一列_Php_Mysql - Fatal编程技术网

Php 使用join with condition组合一列

Php 使用join with condition组合一列,php,mysql,Php,Mysql,你好,请帮助我,我被困在这里了 如果条件与这些条目相匹配,我需要获得这些id组合 (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

你好,请帮助我,我被困在这里了

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

(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')
所以我做这个查询

SELECT IF( (
t1.ID = t2.ID
), t1.ID , CONCAT_WS(  ',', t1.ID, t2.ID ) ) AS DVID
FROM wp_divisions AS t1
JOIN wp_divisions AS t2
ON (t1.division_type = t2.division_type
AND t1.experience_level = t2.experience_level
AND t1.age_level = t2.age_level
AND t1.weight_class = t2.weight_class
AND t1.ID != t2.ID)
GROUP BY DVID

我想你可能想这么做

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

您是否需要csv格式的输出?您是否试图直接从SQL查询中手动构建JSON字符串?
name
字段是否始终为空?@TimBiegeleisen否我只想以组合形式获取这些值如果发现男女部分不可用,则第一行的单个值不可用女性数据,因此itt将显示2,然后第二行3,4,因为有男性女性section@TimBiegeleisen姓名是一个我忘记删除的额外字段,所以请忽略它。非常感谢,我想我必须了解更多。你写了一个非常简单的查询。是的,小组讨论很神奇,如果你喜欢,你也可以添加一个小组讨论(性别)。我会再次感谢你的帮助。你再次让我开心起来,谢谢你