当单元格输入相同时,获取一个值

时间:2014-03-26 13:02:45

标签: php mysql sql

我想获得一个值,而不是所有值,当它们具有相同的名称时。 在一个SQL查询中。我正在使用fullcalendar。并且有两个表格用于events(evenement),另一个用于receiver(evenementontvanger)

evenementontvanger

id   idEvent   
1     231       
2     231       
3     231        

evenement

id   title   
231   hello

我想只显示一个不是3的标题 我的SQL查询:

"SELECT 
    *
FROM
    `evenement`
        JOIN
    `evenementontvanger` ON `evenementontvanger`.`idEvent` = `evenement`.`id`
WHERE
    `idEvent` = `evenement`.`id`"

3 个答案:

答案 0 :(得分:2)

您可以使用distinct来

SELECT distinct `evenementontvanger`.`idEvent`,`evenement`.`title`
FROM
    `evenement`
        JOIN
    `evenementontvanger` ON `evenementontvanger`.`idEvent` = `evenement`.`id`
WHERE
    `idEvent` = `evenement`.`id`;

上述内容如何不打扰idWerknemer,如果您想将它们显示为群组,请将Group_concat用作

SELECT `evenementontvanger`.`idEvent`,
`evenement`.`title`,
group_concat(`evenementontvanger`.`idWerknemer`) as `idWerknemer`
FROM
    `evenement`
        JOIN
    `evenementontvanger` ON `evenementontvanger`.`idEvent` = `evenement`.`id`
WHERE
    `idEvent` = `evenement`.`id`

Group By  `evenementontvanger`.`idEvent`

在此处查看演示http://sqlfiddle.com/#!2/290b4/13

答案 1 :(得分:1)

在查询中使用SELECT DISTINCT以消除重复:

  

ALL和DISTINCT选项指定是否应该有重复的行   回。 ALL(默认值)指定所有匹配的行应该是   返回,包括重复。 DISTINCT指定删除   结果集中的重复行。指定两者都是错误的   选项。 DISTINCTROW是DISTINCT的同义词。

From MySQL docs

答案 2 :(得分:-1)

使用top 1

OR

select distinct