I am trying to obtain some data and I have a way to do it however it
appears really longwinded and I'm sure there must be a better way to
get this using a join of some type without such a complex statement.
tbl1
--------
sid
role_id
tbl2
---------
sid
region_id
in tbl1 I have two types of roles
What I want to do is get all the sid's where role_id=role1 and where
region_id = all regions connected to sid=role2
Here is the rubbish attempt I have so far that works but can surely be
improved:
SELECT tbl2.sid
FROM tbl2
WHERE tbl2.region_id in
(SELECT tbl2.region_id
FROM tbl1
WHERE tbl1.sid = 8)
GROUP BY tbl2.sid
I also want to exclude sid=8 from the results as this is already
prevalent...
Thanks in advance
appears really longwinded and I'm sure there must be a better way to
get this using a join of some type without such a complex statement.
tbl1
--------
sid
role_id
tbl2
---------
sid
region_id
in tbl1 I have two types of roles
What I want to do is get all the sid's where role_id=role1 and where
region_id = all regions connected to sid=role2
Here is the rubbish attempt I have so far that works but can surely be
improved:
SELECT tbl2.sid
FROM tbl2
WHERE tbl2.region_id in
(SELECT tbl2.region_id
FROM tbl1
WHERE tbl1.sid = 8)
GROUP BY tbl2.sid
I also want to exclude sid=8 from the results as this is already
prevalent...
Thanks in advance
Comment