View Full Version : سه مشکل در sqlserver
salman_arak
دوشنبه 21 خرداد 1386, 17:24 عصر
با سلام خدمت دوستان گرامی
من دو تا جدول دارم که در یک جدول یه فیلد id و یه فیلد addr دارم و در جدول دوم نیز همین فیلدها رو دارم با این فرق که جدول اول هر دو فیلد پر می باشند اما در جدول دوم فقط فیلد id آن پر می باشد .
س 1: من چه طور می تونم فیلد addr جدول دوم رو با توجه به id جدول اول پر کنم (فیلد id ها کلید می باشند )یعنی فیلد آدرس جدول اول رو با توجه به id در جدول دوم درج کنم.
س2 :در یک جدول من چه طور می تونم سطرهای که مثلا یه فیلدشان (code) تکراری بود لیست کند ؟
س3: در سوال 1 یک تناظر یک به یک بین id های دو جدول برقرار است حالا اگر این تناظر برقرار نبود چطور این انتقال ادرس ها رو می تونم انجام بدم ؟
باتشکر .
ممنون.
issa_nagheri
دوشنبه 21 خرداد 1386, 17:43 عصر
شما می توانید از طریق join براحتی اینکار را انجام دهی.Select Table2.id,Table1.Name From Table2 Join Table1 on Table2.id=Table1.id
salman_arak
دوشنبه 21 خرداد 1386, 18:11 عصر
دوست عزیز جواب شما خیلی برای من نامفهومه اگه ممکنه از همون فیلدهای خودم استفاده کنید و این مطلب رو که فرمودید مربوط به کدوم سوالمه ؟ چون من هنوز تازه کار و اول راهم !!!
ممنون
SYNDROME
دوشنبه 21 خرداد 1386, 18:25 عصر
با سلام
می شه بگویید که چرا دوتا جدول دقیقا مشابه هم تعریف کرده اید؟؟؟؟؟؟؟
البته می توانید با استفاده از یک Join اطلاعات را نمایش دهید.
Table1: جدول 1
Table2 : جدول 2
Select Table2.ID , Table1.Addr
From Table1 Inner join Table2
On Table1.ID = Table2.ID
نمایش فیلد ID از جدول 2و فیلد Addr از جدول1
supporter
دوشنبه 21 خرداد 1386, 21:12 عصر
در مورد سوال 1 و 3 اگه منظورتون اینه که چظوری فیلد آدرس جدول دوم رو از روی جدول اول Update کنید می تونید از کد زیر استفاده کنید:
UPDATE Table2
Set Address = T1.Address
From Table1 T1
Join Table2 T2 ON T1.Code = T2.Code
در مورد سوال 2 :
Query اول کدهای تکراری و Query دوم رکوردهای با کد تکراری رو نشون میده
SELECT T1.Code FROM TableName T1
JOIN TableName T2 ON T1.Code = T2.code
GROUP BY T1.Code
HAVING Count(*) > 1
و Query دوم:
SELECT * FROM TableName T1
WHERE EXISTS (SELECT T2.Code
FROM TableName T2
WHERE T2.Code = T1.Code
GROUP BY T2.Code
Having Count(*) > 1)
ORDER BY Code
CodeMasterX
دوشنبه 21 خرداد 1386, 23:25 عصر
دیدم عنوان این تاپیک "..مشکل با SqlServer" هست گفتم همینجا سوالم رو بپرسم :
برای اولین بار به مشکل جالبی برخوردم که تاحالا پیش نیومده بود.من SqlServer 2000 و یا 2005 رو که روی سیستم نصب می کنم هیچ کدوم درست کار نمی کنن.سیستم عامل XPPro SP2 هست و سخت افزار هم که نزدیک به خدا.مشکل اینجاست که مثلا وقتی میخوام نسخه 2000 Enterprise رو نصب کنم امکان نصب گزینه Server & Client Tools رو ندارم و فقط میتونم فایل های سمت مشتری رو نصب کنم.یعنی سروری نخواهم داشت!
یا مثلا وقتی که 2005 رو نصب می کنم (البته نسخه Express هست) برنامه کامل و بدون مشکل نصب میشه ولی وقتی میخوام از دات نت یا وی بی 6 بهش وصل بشم میگه هیچ سروری رجیستر نشده ( که شده، با نام SQLEXPRESS) و یا میگه امکان Remote Access ندارن که احتمالا باید مشکل از NamePipes باشه ولی اون رو هم درست ست کردم و باز درست نشد.
از دوستان و مخصوصا آقای ثباتی خواهشمندم لطف کنن و اشکالات احتمالی رو توضیح بدن که چرا نمیتونم نسخه 2000 رو درست نصب کنم و چرا نسخه 2005 امکان دسترسی نمیده ؟!
AminSobati
سه شنبه 22 خرداد 1386, 08:51 صبح
بستگی داره کدوم Edition رو نصب میکنید روی XP. مثلا Enterprise Edition نصب نمیشه اما Developer چرا.
برای Connect شده بصورت Remore به Express Edition باید TCP/IP رو از طریق Configuration Manager فعال کنین (برای Developer Edition هم همینطور). ولی در کل برای Win XP من Standard Edition رو پیشنهاد میکنم
CodeMasterX
سه شنبه 22 خرداد 1386, 18:09 عصر
ممنون آقای ثباتی.
مشکل نسخه 2005 رو حل کردم، با همون توضیحی که شما دادید.
در مورد نسخه 2000 پس نسخه Enterprise رو نمیشه روی XP نصب کرد.پس میمونه Developer و Standard.البته می بخشید که سوال رو ادامه میدم ولی میشه لطف کنید بگید چرا نسخه استاندارد رو توصیه می کنید ؟ فقط میخوام از لحاظ تئوری دلیلش رو بدونم.
متشکرم.
CodeMasterX
سه شنبه 22 خرداد 1386, 21:27 عصر
آقای ثباتی نسخه Developer 64-bit روی ویندوز XP نصب نمیشه ؟
مثل اینکه میگه فقط روی نسخه های 64 بیتی ویندوز سرور 2003 نصب میشه.
AminSobati
چهارشنبه 23 خرداد 1386, 01:14 صبح
- Developer Edition برای استفاده بصورت Local در نظر گرفته شده و حتی با فعال کردن TCP/IP من این ریسک رو انجام نمیدم که یک نرم افزار رو در محیط واقعی (نه آزمایشی) بر مبنای اون قرار بدم
- نسخه 64 بیتی SQL Server برای سخت افزار 64 بیتی که ویندوز 64 بیتی دارند باید استفاده بشه
CodeMasterX
چهارشنبه 23 خرداد 1386, 18:21 عصر
ممنون لز راهنمایی تون آقای ثباتی.
همون نسخه ایتاندارد جواب گو هست فعلا.
CodeMasterX
چهارشنبه 23 خرداد 1386, 22:17 عصر
اقای ثباتی باز یه مشکل دارم :
نسخه استاندارد رو وقتی روی XP میخوام نصب کنم میگه سیستم عاملم مناسب نیست و فقط اجازه نصب فایلهای کلاینت رو میده.نسخه برنامه نویس هم توی نصب مشکل داره.شکر خدا توی بازار ایران باید 100 تا سی دی خرید تا یکیش سالم باشه.
من که توی فروشگاه برنامه نویس چیزی از SQLServer ندیدم، چجوری میتونم یه نسخه سالم و درست رو از تهران تهیه کنم ؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.