PDA

View Full Version : کمک در اتصال 2 شرط به وصیله and



fakhravari
سه شنبه 22 آذر 1390, 01:09 صبح
با سلام
دوستان این کد زیر رو به چه شکل اتصال بددم
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 '))))


به چه شکل باید and بنویسیم

tazarvmmr
سه شنبه 22 آذر 1390, 04:48 صبح
از بعد از and شما داری چیو چک میکنی؟

اصولا قراره این داستان چیو برگردونه؟

خیلی گنگه ولی شما بهد از اون and این عبارت رو اضافه کن ببین چی میشه


c_Name in


یعنی کلا بشه این:



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(C_Name in

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


اگه جواب نداد پیشنهاد میکنم ساختار جداول رو بزاری در ضمن یک توضیح هم بدی که دنبال چی هستی، شاید کاری از دست من براومد!:گیج:

baktash.n81@gmail.com
سه شنبه 22 آذر 1390, 08:23 صبح
ببین به صورت کلی وقتی می تونی از And استفاده کنی که هر دوطرف عبارت منطقی داشتی باشی ...

کدی که شما نوشتی طرف دوم And یه Select هست !

چون نمی دونم می خوای چه کاری انجام بدی نمی تونم کمکت کنم ...

اما این شاید بعدا هم به دردت بخوره اگه می خوای یه Select رو به عبارت منطقی تبدیل کنی می تونی از Exists استفاده کنی که نشون می ده یه Select مقداری بر می گردونه یا نه ...

hamid_shrk
سه شنبه 22 آذر 1390, 09:08 صبح
سلام، خیلی گنگه،ولی فکر میکنم این دستور اشتباه اصلا :

select b_name , b_city from branch where b_name in(
select b_name from deposit where c_name in


چون c_name رو اصلا نگرفتید که بخواید چک کنید که تو select بعدی هست یا نه؟!!
بگید که چه چیزی رو میخواید بدست بیارید؟شاید با join راحتتر باشه.

fakhravari
جمعه 25 آذر 1390, 20:31 عصر
با سلام
سوال اینه:

نام و نام شهر کلیه شعبی که مشتریان تهرانی در آنها حساب ندارند و مشتریان قزوینی از آنها وام نگرفته اند.
branch = شعبه
deposit = سپرده
customer = مشتری
borrow = دریافت وام

Reza_Yarahmadi
شنبه 26 آذر 1390, 17:18 عصر
به نظر طراحی دیتابیس مشکل داره ولی فکر کنم اگه بصورت زیر دستورتون رو بنویسید کارتون راه بیفته.
Select b_name, b_city
From branch
Where
b_name NOT IN(
Select b_name F
From deposit
Where c_name IN(
Select c_name
From customer
Where c_city='tehran ')
UNION
Select c_name
From borrow
Where c_name IN(
Select c_name
From customer
Where c_city='shiraz ')
)