输出sql语句已分组

时间:2010-08-04 14:52:59

标签: mysql

我有一点问题,在mysql中有以下语句:

SELECT cmfilm.*, cmgenre.titel AS genretitel, cmvertoning.*, cmzaal.titel AS zaaltitel 
FROM cmfilm 
      LEFT JOIN cmvertoning ON cmvertoning.film_id=cmfilm.id 
      LEFT JOIN cmgenre ON cmfilm.genre_id=cmgenre.id 
      LEFT JOIN cmzaal ON cmvertoning.zaal_id=cmzaal.id 
WHERE cmvertoning.id IN(74,74,74,74) 
ORDER BY cmfilm.id ASC

因为我问同一个id 4次,它只给我1个结果。但我希望将结果返回4次,就像我要求的那样。谁知道如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您没有要求4行,您要求id为74,74,74或74的任何行 - 其中只有一行。

真正的问题是,为什么你想要同一行4次?

答案 1 :(得分:1)

也许在应用程序端实现这一点会更好 - 将返回的行放在地图中,然后迭代所需的ID并从地图中获取适当的行。因为还有另一个问题 - 行可能不是你指定id的顺序(BTW。这个行排序问题也可以使用field解决)。

UNION解决方案也可以。但是,老实说,如果你需要多次获取相同的行,我认为你有一些设计问题。

答案 2 :(得分:0)

如果没有某种循环,或者使用UNION ALL语句,我认为你不能做到这一点。