majid_darab
سه شنبه 22 دی 1388, 19:25 عصر
با سلام بر شما دوستان عزیز و گرامی :
سناریوی مورد بحث من که مشکل ساز شده به صورت زیر است :
1-من دو Table دارم با عناوین Users و Personel
فیلدهای Usres به صورت تقریبی به قرار زیرند :
ID
Personel_ID -- NullAble
UserName
Password
Name
Family
Phone
--------------------------------------
فیلدهای Personel به صورت تقریبی به قرار زیرند:
ID
User_ID -- NullAble
PersonelNumber
Name
Family
Phone
پرسنل یعنی پرسنل یک شرکت و یوزرز یعنی کسانی که می تونند به وب سایت لاگین کنند.
پس ما دراینجا پرسنلی خواهیم داشت که فقط مشخصات آنها ثبت می گردد اما اجازه ی داشتن رکورد در جدول یوزرز ندارند و در نتیجه نمی تونند لاگین بشن و درنتیجه قسمت User_ID آنها نال خواهد بود
برعکس این موضوع نیز صادق است ... ما دراینجا یوزرهایی خواهیم داشت که پرسنل هیچ شرکتی نیستند و درنتیجه در جدول یوزرز Personel_ID آنها نال خواهد بود.
من می خواهم SelectAll ی از جدول یوزرز داشته باشم که همه ی رکوردها را به من نشان دهد ، اما با شرط زیر:
می خوام به جای فیلد Personel_ID که می تواند نال یا غیر نال باشد PersonelNumber در صورت وجود به جای personel_ID به نمایش در بیاید و هر جا که برای یوزر ما پرسنلی تعریف نشده بود PersonelNumber در این Select نال نشان داده شود
اولین ذهنیتم خوب رفت روی InnerJoin به صورت زیر:
Select
Users.[ID],
Personel.[PersonelNumber],
Users.[UserName],
Users.[PassWord],
From Users
INNER JOIN Personel ON Users.[Personel_ID] = Personel.[ID]
اما این اینر جوین یه جورایی شرطی عمل می کنه و تنها رکوردهایی رو نمایش می ده که در جدول پرسنل برای اونها یوزر آی دی ست شده است...
======================================
امیدوارم منظورمو خوب بیان کرده باشم ...
اگر اهنمایی بفرمایید ممنون میشم...
با تشکر
مجید داراب
سناریوی مورد بحث من که مشکل ساز شده به صورت زیر است :
1-من دو Table دارم با عناوین Users و Personel
فیلدهای Usres به صورت تقریبی به قرار زیرند :
ID
Personel_ID -- NullAble
UserName
Password
Name
Family
Phone
--------------------------------------
فیلدهای Personel به صورت تقریبی به قرار زیرند:
ID
User_ID -- NullAble
PersonelNumber
Name
Family
Phone
پرسنل یعنی پرسنل یک شرکت و یوزرز یعنی کسانی که می تونند به وب سایت لاگین کنند.
پس ما دراینجا پرسنلی خواهیم داشت که فقط مشخصات آنها ثبت می گردد اما اجازه ی داشتن رکورد در جدول یوزرز ندارند و در نتیجه نمی تونند لاگین بشن و درنتیجه قسمت User_ID آنها نال خواهد بود
برعکس این موضوع نیز صادق است ... ما دراینجا یوزرهایی خواهیم داشت که پرسنل هیچ شرکتی نیستند و درنتیجه در جدول یوزرز Personel_ID آنها نال خواهد بود.
من می خواهم SelectAll ی از جدول یوزرز داشته باشم که همه ی رکوردها را به من نشان دهد ، اما با شرط زیر:
می خوام به جای فیلد Personel_ID که می تواند نال یا غیر نال باشد PersonelNumber در صورت وجود به جای personel_ID به نمایش در بیاید و هر جا که برای یوزر ما پرسنلی تعریف نشده بود PersonelNumber در این Select نال نشان داده شود
اولین ذهنیتم خوب رفت روی InnerJoin به صورت زیر:
Select
Users.[ID],
Personel.[PersonelNumber],
Users.[UserName],
Users.[PassWord],
From Users
INNER JOIN Personel ON Users.[Personel_ID] = Personel.[ID]
اما این اینر جوین یه جورایی شرطی عمل می کنه و تنها رکوردهایی رو نمایش می ده که در جدول پرسنل برای اونها یوزر آی دی ست شده است...
======================================
امیدوارم منظورمو خوب بیان کرده باشم ...
اگر اهنمایی بفرمایید ممنون میشم...
با تشکر
مجید داراب