PDA

View Full Version : فیلتر کردن اطلاعات از چند جدول



morteza_1234m
جمعه 30 بهمن 1388, 14:32 عصر
سلام دوستان من 3 جدول دارم که می خوام با یک SP و دستوراتی مانند SELEct,Inner join اطلاعاتم رو از این سه جدول استخراج کنم

-- ******************Address field******************
@ShMeli Nvarchar(50),@Country Nvarchar(50),
@State Nvarchar(50),@City Nvarchar(50),
@Street Nvarchar(50),@Alley Nvarchar(50),
@Num Nvarchar(50),@PostalCode Nvarchar(50),

--******************Info field******************
@Name Nvarchar(50),@Family Nvarchar(50),
@FatherName Nvarchar(50),@ShSh Nvarchar(50),
@BirthDate Datetime,@LocBirth Nvarchar(50),
@Tel Nvarchar(50),@Mobile Nvarchar(50),

--******************Current field******************
@ShAccount Nvarchar(50),@RegisterDate Datetime,
@AccountStore Money
فیلدهای این سه جدول اینه و ShMeli بین سه جدول مشترکه
حالا چگونه میتونم این کار رو بکنم

Modernidea
شنبه 01 اسفند 1388, 02:04 صبح
سلام




Create proc selectsp
As
SELECT *
FROM dbo.Address INNER JOIN
dbo.Info ON dbo.Address.ShMeli = dbo.Info.ShMeli INNER JOIN
dbo.Current ON dbo.Address.ShMeli = dbo.Current.ShMeli




کد بالا در صورتی کاربرد دارد که فیلد ShMeli در هر سه جدول وجود داشته باشد.

اگر میخواهید رکوردهایی رو انتخاب کنید که دارای ShMeli خاصی باشند مثلا ShMeli = 20 باید از دستور Select به شکل زیر استفاده کنید.




Create proc selectsp (@Sh Nvarchar)
As
SELECT *
FROM dbo.Address, dbo.Info, dbo.Current
where dbo.Address.ShMeli = Sh



برای اجرای این Sp باید به عنوان مثال در Sql Query Analyzer کد زیر رو بنویسد.



exec selectsp 20;
موفق باشید.