【发布时间】:2011-09-16 21:41:33
【问题描述】:
我有一个查询要写,这对我来说有点太复杂了。帮助将不胜感激。 我的桌子本质上是:
Table: Foo
Columns: id
timestamp
bar1
bar2
bar3
Bar1、bar2 和 bar3 对于每条记录来说不是唯一的。实际上,这三者的组合具体涉及多条记录。例如:
0 | 2011-01-01 00:01:01 | 100 | 5 | 'Hello'
1 | 2011-01-01 12:12:00 | 100 | 5 | 'Hello'
2 | 2011-01-01 07:43:00 | 101 | 8 | 'Monkey'
3 | 2011-01-01 17:46:08 | 102 | 9 | 'Cat'
4 | 2011-01-01 23:15:00 | 100 | 5 | 'Hello'
5 | 2011-01-01 10:00:00 | 100 | 6 | 'Goodbye'
记录 0、1 和 4 是相关的,而 2、3 和 5 是唯一的。
考虑到这一点,我想查找所有 bar1 == 100、bar2 == 5 和 bar3 == 'Hello' 的记录,IF 组中的所有记录都有时间戳 OR 组中的一条记录具有时间戳
希望这是有道理的。如果没有,请告诉我,我会尽力澄清。
编辑:我希望只有 bar 就足以作为示例,但实际上我的实际表有多个列必须匹配以指示记录是相关的。我已经相应地更新了这个例子。
【问题讨论】:
-
我不知道你的数据,但看起来 {bar1,bar2,bar3} 组成了一个可以“规范化”到单独表格中的组。
标签: php sql postgresql doctrine-orm