ورود

View Full Version : کوئری های نسبتا مشکل در دیتابیس بانک



soroushp
یک شنبه 20 آذر 1390, 15:30 عصر
با فرض جدول زیر:


deposit(c_name,b_name,acont_no_balance)-----P.K:acont_no,F.K:c_name,b_name
borrow(c_name,b_name,l_no,balance)----P.K:l_no,P.K:c_name,b_name
customer(c_name,c_city,c_street)-----P.K:c_name
branch(b_name,b_city)-----P.K:b_name
client(c_name,bankername)-------P.K:bankername,F.K:c_name
F.K:foreign key,P.K:primary key
جدول اول جدول حساب هست که شماره حساب کلید هست، جدول دوم جدول وام هست که ال نامبر کلید اصلی،جدول سوم مشتری است، چهارم شعبه،پنجم کلاینت

کوئری ها:
1- نام و نام شهر همه مشتریانی که با بانکر خودشان همنام نیستند و در شعب شهر خود حساب ندارند.
2- نام و نام شهر کلیه شعبی که فقط به مشتریان همشهری خود وام داده اند.
3-نام و نام شهر همه شعبی که هیچ دو مشتری همشهری باهم حساب ندارند.
4- نام و نام شهر کلیه شعبی که مشتریان تهرانی در آنها حساب ندارند و مشتریان قزوینی از آنها وام نگرفته اند.
5- نام و نام شهر مشتریانی که در کلیهه شعب شهر خود حساب دارند و از هیچ یک از شعب شهر خود وام نگرفته اند.
6- نام شعبی که بیشترین وام پرداختی را دارند و در شعبه شهر تهران قرار دارند

soroushp
یک شنبه 20 آذر 1390, 15:52 عصر
فقط امیدوارم مدیران این بخش کم لطفی نکند و بدون دلیل تاپیک رو پاک کنند

soroushp
یک شنبه 20 آذر 1390, 20:11 عصر
این هم دیتا بیسش که کاره تون رو راهتر کنه:79050

یوسف زالی
یک شنبه 20 آذر 1390, 22:51 عصر
دوست من:
1- تالار مناسب برای این کار اینجاست:
http://barnamenevis.org/forumdisplay.php?178-T-SQL
2- معمولا کسی حاضر نیست کارهای (شاید هم تمرینات دانشجویی) کس دیگه ای رو اون هم 6 تا از صفر انجام بده.
طبق مقررات سایت شما باید انجام بدی و مشکل خودت رو بپرسی.
اگر قرار بر این باشه که هر کسی این طوری سوالش رو بپرسه وقتی برای دوستانی که جواب می دن باقی نمی مونه. از طرفی فلسفه ایجاد سایت که آموزش هست هم محقق نمی شه.
امیدوارم بهت برنخورده باشه.
در هر صورت شما سعی خودت رو کن و سوال ها و مشکلاتی که بهش برخوردی رو بپرس.
موفق باشی.

soroushp
یک شنبه 20 آذر 1390, 23:21 عصر
دوست عزیز من که نگفتم حتما کسی جواب بده ؛ درخواست راهنمایی کردم برای حلش هر کس تونست به اندازه ای به ما کمک بکنه هم برای خودش دوره میشه هم من و دیگران یاد میگیریم-من force رو کسی نمی زارم که هر 6 تا ش رو انجام ندی...
اینطوری نبوداااااا !!!

fakhravari
دوشنبه 21 آذر 1390, 00:27 صبح
فعلا تا اینجا جواب سوال 1

select c_name , c_city from customer where c_city not in (
select b_city from branch where b_name in(
select b_name from deposit))
__________________________________________________ ______________
فعلا تا اینجا جواب سوال 2
select c_name from customer where c_city in(
select b_name from borrow where b_name in(
select b_city from branch))
__________________________________________________ ______________
سوال 3 نامفهوم برام.
_____________

سوال 4 یه مشکلی دارم فقط نمیدونم این and چطوری اتصال بدم به نظرم کد درسته

select b_name , b_city from branch where b_name in(
select b_name from deposit where c_name in
(select c_name from customer where not c_city='tehran ' and

(select c_name from borrow where c_name in(
select c_name from customer where c_city='shiraz '))))

soroushp
جمعه 25 آذر 1390, 09:30 صبح
برای سوال 1 همچین چیزی درسته ؟

(select c_name,c_city from customer where c_city not in(select b_city from branch where b_city in(select c_city from customer))),(select c_name from customer where c_name not in(select bankername from client where banker_name in(select c_name from customer)))
این 2 تا رو می خوام با هم ضرب کنم ایراد می گیره؟
راهنمایی کنید

fakhravari
جمعه 25 آذر 1390, 20:39 عصر
با سلام

select c_name,c_city from customer where c_city not in(
select b_city from branch where b_city in(select c_city from customer))
-------
select c_name from customer where c_name not in(select bankername from client where banker_name in(select c_name from customer))

سوال باید در http://barnamenevis.org/forumdisplay.php?178-T-SQL بگید

soroushp
جمعه 25 آذر 1390, 20:57 عصر
تو پستم دیدی که 2 تا select رو می خام در هم ضرب کنم ابتدا هر دو رو تو پرانتز گذاشتم و و بینشون گذاشتم که error می داد ؟ الان دستور العمل ضرب بین دو select می خام
بهتره سایت شلوغ نشه