sql - How to write a query that builds a string dynamically based on a 2 tables -


i have 2 tables: maintable , controltable.

i want write query builds string representing file path. file path built dynamically depending on query result between 2 tables.

main table has following columns: controlnumber customerid customerstatement

the control table has 1 column: controlnumber

i need write query checks if main table has controlnumber defined in control table. if there match, append \foldera filepath if no match, append \folderb

ending result this:

c:\customers\foldera or c:\customers\folderb

i suspect need use left join

how can that?

you're right want left join. combine case...when expression determine value:

select    *,    case      when control.controlnumber not null      '\foldera'      else '\folderb'    end filepath main  left join control on main.controlnumber = control.controlnumber 

it's not clear rest of path comes from; maybe it's static , want concatenate value case expression:

'c:\customers' + -- or concat() or || depending on sql dialect case when control.controlnumber not null '\foldera' else '\folderb' end filepath  

Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

javascript - Complex json ng-repeat -

jquery - Cloning of rows and columns from the old table into the new with colSpan and rowSpan -