PDA

View Full Version : select کردن دو تا table هم زمان



leontry89
یک شنبه 05 آبان 1392, 13:52 عصر
دوستان من با کد زیر دارم دو تا مقدار و چک می کنم در یک table
چه جوری میتونم دو تا table رو بررسی کنم؟
private Boolean CheckUserNameAndPasswordMach(string Email, string Password)
{
cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select Count(*) from [Register] where UserName = @UserName and Password = @Password";
cmd.Parameters.AddWithValue("@Email", Email);
cmd.Parameters.AddWithValue("@Password", Password);
cmd.Connection = con;
if (con.State != ConnectionState.Open)
{
con.Open();
}
int RetVal = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
if (RetVal == 0)
{
return false;
}
else
{
return true;
}
}

Mag-Mag
یک شنبه 05 آبان 1392, 14:08 عصر
شما باید جداولت رو باهم Join کنی

اموزش انواع JOIN (http://barnamenevis.org/showthread.php?241637-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-JOIN-%D8%AF%D8%B1-SQL-%28%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%29)

leontry89
یک شنبه 05 آبان 1392, 14:17 عصر
خوندم اما متوجه نشدم
میشه رو این کد بهم توضیح بدید؟

Mag-Mag
دوشنبه 06 آبان 1392, 13:29 عصر
SELECT advcnt.* FROM dbo.AdvancedContents AS advcnt right JOIN
users AS usr ON advcnt.creatorid = usr.id
where usr.id=1 or usr.username='aris'

میگه از حدول AdvancedContents همه چیز رو select کن و اسم مستعارش رو بزار advcnt حالا این رو با جدول users جوین کن اسم مستعارش رو بزار usr (این اسم دلبخواه است)
اما از این join اوناهایی رو برام بیار که ستون creatorid هز جدول AdvancedContents با ستون id از جدول users برابر باشه ضمن اینکه id برابر 1 باشه و نام کاربریش aris باشه

بین دوتا جدولی مه میخوای باهم join کنی باید ارتباط باشه
مثلا من الان در جدول user ها فیلد id یا شماره کاربری دارم و در جدول AdvancedContents فیلد creatorid دارم یعنی شماره کاربری که این رکورد رو ایجاد کرده
در حقیفت مفهوم کلید اصلی و کلید خارجی

اگر متوجه نشدی ساختار دو تا table رو بفرست با اون چیزهایی که ازشون میخوای تا بنویسم برات

ebiramrb
دوشنبه 06 آبان 1392, 13:34 عصر
اگه از دستور select و شرط برای انتخاب دو تا جدول استفاده کنیم ، توی سرعت چه تاثیری داره ؟ بیشتر می شه یا کمتر ؟


SELECT * FROM tabel1,tabel2 where tabel1.id = tabel2.id

سرعت این کمتره ؟؟؟؟؟؟؟؟؟



___________________
طراحی حرفه ای سایت (http://webdesign24.ir/page132.aspx) طراحی وب سایت تبلیعاتی (http://www.webdesign24.ir/page67.aspx) سئو سایت (http://www.webdesign24.ir/page97.aspx) طراحی وب سایت (http://www.webdesign24.ir)

Mag-Mag
دوشنبه 06 آبان 1392, 14:33 عصر
ببین سرعت اینها زمانی مطرح میشه که تو توی یک صفحه حدود از 100 تا 200 تا تا query بزنی
اگر خیلی روی سرعت حساسی باید از View و ُStoreProcedure استفاده کنی
اما اگر صفحت 3 یا 4 تا select داره زیاد مهم نیست

leontry89
دوشنبه 06 آبان 1392, 14:58 عصر
دوست عزیز من دو تا جدول دارم یکی با نام: AddUser و دیگری به اسم AddSeller
فیلدهایی که میخوام بررسی بشن تو جدول AddUser بررسی بشن Email و Password هستن
فیلدهایی که میخوام تو جدول AddSeller بررسی بشن Email و Pass هستن
این مدلی که این دوستمون گفت ساده تر نیست؟
SELECT * FROM tabel1,tabel2 where tabel1.id = tabel2.id

(میشه یه جوری بگید که شبیه کدهایی که گذاشتم باشه
واقعا سپاسگزارم

Mag-Mag
چهارشنبه 08 آبان 1392, 12:04 عصر
ببین واسه join کردن باید مفهموم کلید خارجی و کلید اصلی رو بری یاد بگیری
چون لازمه وقتی دوتا جدول با هم join میشن بینشون ارتباط باشه

حالا در کل

تو اگر منظورت این هست که می خوای از جدول AddUser و AddSeller رکوردهایی رو که email و password مثل هم دارن بکشی بیرون
اینطوری بنویس


SELECT * from AddUser as AddUser,AddSeller AS AddSeller
where AddUser.Email=AddSeller.Email or AddUser.password=AddSeller.password