PDA

View Full Version : پرس و جو (Query)



nsdido
شنبه 25 اردیبهشت 1389, 17:38 عصر
سلام . من یه سوال دارم. اگه توی محیط sql و پرس و جویی که می سازیم بخواهیم داده های دو جدول رو به صورت زوج نشونمون بده باید چه دستوری بنویسیم .من سه تا جدول دارم ، جدول عرضه کنندگان ، قطعات ، پروژه ها و جدول "عرضه کنندگان،قطعات،پروژه ها"
سوال اینه :
تمام زوج هایی از شماره ی عرضه کنندگانی را مشخص کنید که هردو عرضه کننده در یک شهر قرار داشته باشند؟
خواهش می کنم کمک..........:لبخند::گریه:

AminSobati
یک شنبه 26 اردیبهشت 1389, 21:31 عصر
سلام دوست عزیزم،
اگر اسکریپت جداول رو پست کنین، شانس بیشتری برای دریافت جواب دارین.

محمد سلیم آبادی
یک شنبه 26 اردیبهشت 1389, 23:48 عصر
سلام دوست عزیزم،
اگر اسکریپت جداول رو پست کنین، شانس بیشتری برای دریافت جواب دارین.

برای سکریپت می تونیم به کتاب آقای Date مراجعه کنیم :)
تا جایی که یادم هست آقای دیت دو بانک را در کتابش معرفی و استفاده کرده که سوال این کاربر مربوط به بانک پیشرفته تر هست (یعنی جدول پروژه هم بهش اضافه شده)

برای بدست آوردن زوج ها شما می تونید جدول را با خودش JOIN کنید.

خوب به این جمله دقت کنید:

تمام زوج هایی از شماره ی عرضه کنندگانی را مشخص کنید که هردو عرضه کننده در یک شهر قرار داشته باشند؟
برای نتیجه گرفتن نیاز به جداولی به غیر از Supliers دیده نمیشه! (نمی دونم حکم اون یکی جداول در اینجا چی هست)
گرچه صورت مساله اطلاعات کامل و شفافی به ما نمی ده ولی این رو امتحان کنید:


SELECT s1.S#, s2.S#
FROM Supliers AS s1
INNER JOIN Supliers AS s2
ON s1.S# <> s2.S#
AND s1.city = s2.city

nsdido
سه شنبه 28 اردیبهشت 1389, 00:29 صبح
سلام . جوابتون خیلی بهم کمک کرد ممنونم .

محمد سلیم آبادی
سه شنبه 28 اردیبهشت 1389, 08:11 صبح
و چون می دونم دانشگاهی ها خیلی به روز هستند این syntax قدیمی هم می نویسم:

SELECT s1.S#, s2.S#
FROM Supliers AS s1
, Supliers AS s2
WHERE
s1.S# <> s2.S#
AND s1.city = s2.city

nsdido
چهارشنبه 29 اردیبهشت 1389, 14:31 عصر
ممنونم . میشه بگین این جواب رو درست دادم یا نه؟
-عرضه کنندگانی را مشخص کنید که status ان ها کمتر از بیشترین مقدار status فعلی در جدول s باشد؟
s(s#,sname,status,city)
من این جواب را دادم :

select s#,sname,status,city
from s
(where status < (select max(status
(from s

محمد سلیم آبادی
چهارشنبه 29 اردیبهشت 1389, 19:17 عصر
ممنونم . میشه بگین این جواب رو درست دادم یا نه؟
-عرضه کنندگانی را مشخص کنید که status ان ها کمتر از بیشترین مقدار status فعلی در جدول s باشد؟
s(s#,sname,status,city)
من این جواب را دادم :

select s#,sname,status,city
from s
(where status < (select max(status

(from s


بله. ولی قصد ندارین که هر کوئری که می نویسین را در اینجا قرار بدین و از صحتش مطمئن بشین :لبخندساده:

nsdido
چهارشنبه 29 اردیبهشت 1389, 22:43 عصر
بله. ولی قصد ندارین که هر کوئری که می نویسین را در اینجا قرار بدین و از صحتش مطمئن بشین :لبخندساده:

:لبخند:معذرت می خوام دیگه تکرار نمی شه :قلب:
خیلی خیلی خیلی خیلی ممنوووووووووووووووووووووو وووووووووووووووووووووووون