假设我有一个只有两列的表:name和mood。一行包含一个人的姓名和他们的心情,如果他们有多种心情,则多行存储在数据库中。
例如,数据库中有 John,他很高兴、很兴奋、很自豪。
这表示为
John Happy
John Excited
John Proud
我要做的是根据遇到的几种情绪来选择名称。类似于 UNION:
SELECT name WHERE mood=Happy
UNION
SELECT name WHERE mood=Excited
UNION
SELECT name WHERE mood=Proud
但是,使用上述联合将导致:
John
John
John
Union all 将产生 John 的一个结果,但它也会选择仅匹配其中一个查询的任何名称。
我可以想到一些算法来获取每个单独的 mysql_result 资源(我正在使用 PHP),并寻找匹配的结果,但我想知道 MySQL 是否已经促进了这一点。
我意识到上面是一个相当模糊的概括,不用说我的实际程序要复杂得多,我已经为这个问题把它简化了一点,请不要犹豫,提出问题。