2016-07-31 14 views
1

Meine Frage bezieht sich auf dynamisches SQL. Ich habe zwei TabellenDynamische SQL in SQL Server - wie?

  • Kunden (custid, fn_name, Ln_name)
  • Anbieter (vendor_id, CustID, OrderNum, bestelldatum)

Und ich habe auch andere Tabellen

  • Tisch (tableid (pk), name)
  • tabelle_col (colid (pk), tabelle (fk), colname)
  • table_keys (key_id, tableid, key_col_name)

Nun, wenn Benutzer eine Spalte aus den table_col Tabellen auswählt, dynamisch muß ich Spaltennamen erhalten und dynamisch die vom table_keys basierend auf dem Namen Spiel beitreten zu identifizieren.

Antwort

0

Könnte sein Somethings wie diese

select 
    t.name 
    , c.colname 
    , case k.key_col_name when not null then 'X' else '' end as iskey 
from table_col as c 
left join table_keys as k on k.key_col_name = c.colname 
inner join table as t on t.tableid = c.tableid 
where t.name in ('customers', 'vendors');