مشاهده نسخه کامل
: مشکل در نوشتن کد SQL
Mehran NZ
27-04-2010, 18:33
دوستان می خوام این دستور و در سکیوئل بنویسم هر جور که به مخم فشار میارم راهی به ذهنم نمی رسه الان کاملا هنگ کردم یکی کمک کنه لطفا (شرمنده که اینجا تاپیک زدم دیگه قسمتی برای دیتابیس ندیدم)
سوال هم این بیده خیلی ساده و مفید: نام شرکتهایی که هیچ دو کارمند همشهری نداشته باشند.
اینم جدولش:
Employee(employeename,street,city)
Works(employeename,companyname,salary)
Company(companyname,city)
در محیط اکسس دارم کار می کنم و دیتابیس به هیچ زبانی متصل نشده و فقط می خوام با کوئری کد رو بنویسم!
bad_boy_2007
27-04-2010, 20:02
دوستان می خوام این دستور و در سکیوئل بنویسم هر جور که به مخم فشار میارم راهی به ذهنم نمی رسه الان کاملا هنگ کردم یکی کمک کنه لطفا (شرمنده که اینجا تاپیک زدم دیگه قسمتی برای دیتابیس ندیدم)
سوال هم این بیده خیلی ساده و مفید: نام شرکتهایی که هیچ دو کارمند همشهر نداشته باشند.
اینم جدولش:
Employee(name,street,city)
Works(employeename,company,salary)
Company(companyname,city)
فقط هم باید کوئری خالص باشه ....
سوالتون خیلی مبهمه ،
اول از همه ، چه کوئری ای میخواین بنویسید ؟
دوم ، رابطه بین جداولتون چطوریه ؟ (از طریق نام Emploei بین جداول Works و کارمندان ارتباط برقرار کرده اید ؟!!)
سلام داش مهران
همانطور که کاربر badboy گفتند چندان رابطه ی بین جداول و کلید های آن ها معلوم نیست ولی همینطوری یک فرمانی نوشتم انشاا... کمکتان کند
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به کلمه کلیدی DISTINCT توجه کنید کنید که باعث میشه از هر نمونه یکی بازیافت بشه .
موفق باشید
Mehran NZ
27-04-2010, 21:30
سوالتون خیلی مبهمه ،
اول از همه ، چه کوئری ای میخواین بنویسید ؟
دوم ، رابطه بین جداولتون چطوریه ؟ (از طریق نام Emploei بین جداول Works و کارمندان ارتباط برقرار کرده اید ؟!!)
اقا اول بگم که این تو اکسس هستش رابطه و اینا هم که از طریق employeename دو جدول Employee و Works رو می شه به هم پیوند داد و از طریق companyname هم دو جدول WorksوCompany رو البته شرمنده سرم درد می کرد اسامی رو کامل ننوشته بودم الان درستش کردم یه نگاه دیگه بندازین!
سلام داش مهران
همانطور که کاربر badboy گفتند چندان رابطه ی بین جداول و کلید های آن ها معلوم نیست ولی همینطوری یک فرمانی نوشتم انشاا... کمکتان کند
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به کلمه کلیدی DISTINCT توجه کنید کنید که باعث میشه از هر نمونه یکی بازیافت بشه .
موفق باشید
سلام بر داش مهدی گل برنامه نویس سخت کوش :10:
مهدی جان کدت رو نفهمیدم جطوری کار می کنه همین خط اولش مشکل داره این SELECT r.Company رو چرا نوشتی؟اینجا نباید اسم Column قرار بدی بجای اسم جدول؟ و اون r از کجا در اومد؟
Mehran NZ
27-04-2010, 22:06
دوستان این هم دیتابیسش برای راحتی یه سری اطلاعات هم توش وارد کردم فقط دانلودش کنید و کوئریش و بنویسین همین!
با حجم 14کیلوبایت ناقابل با فرمت اکسس 2007 هم هستش
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هر کی بتونه این وبنویسه واقعا باید بهش تبریک گفت این استاد ما چند تا سوال مطرح کرده بود همه رو حل کردم فقط این مونده!
سلام
یک فرمان به نظر عملی نوشتم که فقط یک سینتکسش در اکسس جواب نمیده اگه دیتابیس اس کیو ال همین رو می گذاشتی فرمان رو امتحان حالا بعدش یه جوری با اکسس کنار میودیم.
Mehran NZ
28-04-2010, 14:38
سلام
یک فرمان به نظر عملی نوشتم که فقط یک سینتکسش در اکسس جواب نمیده اگه دیتابیس اس کیو ال همین رو می گذاشتی فرمان رو امتحان حالا بعدش یه جوری با اکسس کنار میودیم.
ویرایش:بذار آزمایش کنم خبر میدم
اول ببخشید که دیر جواب میدم
من فرمان زیر رو در sql نوشتم :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که اگر در اکسس بخواهید ازش استفاده کنید از قسمت COUNT(DISTINCT e.city) خطا می ده چون این سینتکس در اکسس وجود ندارد و اما مشابه این دو کلمه در اکسس می شود :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
:18:
اما بازم خطا خواهد داد چون در شرط HAVING نمی شود SELECT استفاده کرده و JOIN ها هم کارشان را درستی انجام نمی دهند و ...
حالا اگر کسی فرمانی می داند که در اکسس جواب می دهد بگذارد تا ما هم یاد بگیریم!
راستی من هنوز کار(وجود) جدول Company را در این دیتابیس نفهمیدم!؟
موفق باشید
Mehran NZ
03-05-2010, 20:52
سلام مهدی جان
جواب شما اشتباه هست
اینکه دیدم اینقدر ضعیفم به خودم اومدم و دارم حسابی روی کوئریم کار می کنم !
اینم جواب سوال درست:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از اون روش مولتی تیبل هم فعلا این روش به ذهنم می رسه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.