pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Sim Zacks <sim@compulab.co.il>
To: pgsql-sql@postgresql.org
Subject: join if all matches
Date: Tue, 22 Nov 2005 10:30:17 +0200
Message-ID: <dlul0l$ivg$1@news.hub.org> (raw)

I am trying to figure out an sql statement and I was hoping someone could
help. I'm having brainfreeze right now.

Table Rules
    RuleID
    RuleName

Table RuleAgents
    RuleAgentID
    RuleID
    Agent

Table RuleActions
    RuleActionID
    RuleID
    Action

I am passing in an array of agents into a function and I would like to see
all the actions for which all of the agents of a rule have been found.

For example:

Rules
RuleID    RuleName
    1          Rule1
    2          Rule2

RuleAgents
 RuleAgentID    RuleID    Agent
     1                    1            15
     2                    1            17
     3                    2            91

RuleActions
RuleActionID    RuleID    Action
1                        1                1000
2                        1                1005
3                        1                1010
4                        1                1099
5                        2                1500
6                        2                9807
7                        2                1409

If I pass into my function 15 then I don't want it to return anything,
because rule1 requires both 15 and 17.
If I pass in 19 then I want it to return a resultset including the actions
with Rule2 (1500,9807,1409)
If I pass in both 15 and 17 then I want it to return all  the actions with
Rule1

Any thoughts on the join?





view thread (2+ messages)  latest in thread

Message-ID: <dlul0l$ivg$1@news.hub.org>
Permalink:  ../dlul0l$ivg$1@news.hub.org/
Also on:    postgresql.org/message-id/dlul0l$ivg$1@news.hub.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: sim@compulab.co.il
  Subject: Re: join if all matches
  In-Reply-To: <dlul0l$ivg$1@news.hub.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox