Applying joins conditionally in SQL Server -


i have set of records, have select records set have theeir id in either of 2 tables.

suppose have table1 contains

id  name ---------- 1   name1 2   name2 

now need select records table 1 have either id in table2 or in table3

i trying apply or operator witin inner join like:

select *  table1  inner join table2 on table2.id = table1.id or inner join table3 on table3.id = table1.id. 

is possible? best method approach this? not able use

if exist(select 1 table2 id=table1.id) select table1 

could me on this?

i inclined use exists:

select t1.* table1 t1 exists (select 1 table2 t2 t2.id = t1.id) or       exists (select 1 table3 t3 t3.id = t1.id) ; 

the advantage using exists (or in) on join involves duplicate rows. if table2 or table3 have multiple rows given id, version using join produce multiple rows in result set.


Comments

Popular posts from this blog

testing - Detect whether test has failed within fixture -

AbotX : How do you create a parallel crawler that stays on and can be added to at run time from new requests -

android - Create single AAR file from multiple modules using Gradle -