code_junkie

Join to a table only when column value is true

Nov 13th, 2011
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. select * from T1
  2. join T2 on T1.value = T2.value
  3. where T2.value2 = 'variable2'
  4. and T2.value3 = 'variable3'
  5.  
  6. select *
  7. from T1
  8. join T2
  9. on T1.value = T2.value
  10. and T1.booleancolumn = 1
  11. where T2.value2 = 'variable2'
  12. and T2.value3 = 'variable3';
  13.  
  14. SELECT
  15. COALESCE(T2.Value, T1.Value) AS Value,
  16. COALESCE(T2.Value2, T1.Value2) AS Value2,
  17. COALESCE(T2.Value3, T1.Value3) AS Value3
  18. FROM T1
  19. LEFT JOIN T2 ON T2.value = T1.value
  20. AND T2.Value2= @Variable2 AND T2.Value3 = @Variable3
  21.  
  22. select * from T1
  23. join T2 on T1.value = T2.value
  24. where T2.value2 = case T1.useT2 when 'yes' then 'variable2' else T2.value2 END
  25. and T2.value3 = case T1.useT2 when 'yes' then 'variable3' else T2.value3 END
  26.  
  27. SELECT * FROM T1
  28. INNER JOIN T2
  29. ON T1.Value = T2.Value
  30. WHERE T2.Value2 = 'variable2'
  31. AND T2.Value3 = 'variable3'
  32. AND T1.booleancolumn = 1
  33.  
  34. SELECT T1.*
  35. FROM T1
  36. WHERE T1.use_t2 = FALSE
  37. AND T1.value2 = 'variable2'
  38. AND T1.value3 = 'variable3'
  39. UNION ALL
  40. SELECT T2.*
  41. FROM T1 JOIN T2 ON T1.value = T2.value
  42. WHERE T1.use_t2 = TRUE
  43. AND T2.value2 = 'variable2'
  44. AND T2.value3 = 'variable3'
Add Comment
Please, Sign In to add comment