【发布时间】:2013-08-26 10:22:33
【问题描述】:
这是我的结果集
我正在使用WHERE refid IN 在refid 的基础上返回此结果集。
在这里,我需要应用一个没有任何编程的逻辑(仅指 SQL 查询)。
如果在结果集中,我得到了特定的refid 的period,那么不能返回具有相同refid 的其他行。
例如,2667105 具有 period 然后 myid = 612084598 不得在结果集中返回。
据我所知,这可以使用 CASE 来实现,但我不知道如何使用它,我的意思是我不知道应该在 SELECT 语句或 WHERE 子句中使用 CASE 语句。 .
编辑:
这就是它的工作方式,
myid = 612084598 是refid = 2667105 的默认行,但如果特别想要refid 用于period = 6,那么它必须返回除myid = 612084598 之外的所有行
但是如果我正在寻找period = 12,对于这个period 没有特定的refid 存在于数据库中.. 因此它必须返回除第一个之外的所有行.. 表示所有带有@987654340 的行@ 这是默认的..
【问题讨论】:
标签: postgresql join left-join