我想获得一个值,而不是所有值,当它们具有相同的名称时。
在一个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`"
答案 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`
答案 1 :(得分:1)
在查询中使用SELECT DISTINCT
以消除重复:
ALL和DISTINCT选项指定是否应该有重复的行 回。 ALL(默认值)指定所有匹配的行应该是 返回,包括重复。 DISTINCT指定删除 结果集中的重复行。指定两者都是错误的 选项。 DISTINCTROW是DISTINCT的同义词。
答案 2 :(得分:-1)
使用top 1
OR
select distinct