PDA

View Full Version : چطوری میشه چنین کوئری نوشت ؟؟؟



mta_va
سه شنبه 10 آبان 1390, 09:01 صبح
set @cmd=N'select *
from (select dbname from company where companyid=1).dbo.Person'
DECLARE @sp sysname
exec @cmd

چطوری میشه چنین کوئری نوشت ؟؟؟

حمیدرضاصادقیان
سه شنبه 10 آبان 1390, 12:32 عصر
سلام.
منظورتون واضح نیست.
به این نوع Query میگن Dynamic Query .
مشکلتون چیه؟

mta_va
چهارشنبه 11 آبان 1390, 10:22 صبح
مشکل داره...
میخوم جلوی دستور from اسم دیتابیس رو از یه جدول انتخاب کنم و جایگزین کنم
میشه اینکارو کرد؟

mta_va
چهارشنبه 11 آبان 1390, 10:25 صبح
یه دیتابیس مشترک دارم که هر شرکتی از دیتابیس خودش توی یه جدول مشترک بخشیاز عملیاتشو ثبت کرده می خوام جلوی fromشرط داشته باشم که براساس آیدی هر شرکتی که انجم داده با یه جدولی از خودش جوینش کنم.
آیا میشه؟

حمیدرضاصادقیان
چهارشنبه 11 آبان 1390, 11:50 صبح
سلام.
به این شکل بنویسید.

DECLARE @DbName VARCHAR(30)
DECLARE @Cmd nVARCHAR(200)

select @dbname=dbname from company where companyid=1

set @cmd=N'select * from '+@Dbname+'.dbo.person'
PRINT @Cmd
exec sp_executesql @Cmd