PDA

View Full Version : اشتراک یا اجتماع نتایج پرس و جو



IKHATAMI
یک شنبه 11 شهریور 1386, 18:30 عصر
سلام
من چگونه می توانم نتایج دو پرس و جو از دو query را با یکدیگر مقایسه کرده و اشتراک یا اجتماع بگیرم
به عنوان مثال
query1 : یک پرس و جو که دانشجویان فارغ التحصیل سال جاری را باز می گرداند
query2 : یک پرس و جو که دانشجویان فارغ التحصیل ساکن تهران را باز می گرداند

NEW QUERY : لیست دانشجویان فارغ التحصیل سال جاری که ساکن تهران باشند
پرس و جوی جدید را از بالایی ها چگونه به دست آوریم. یادآور می شوم که نمی توانیم کدهای دو پرس و جوی بالایی را در جدید کپی کنیم چون آن کدها دایما در حال تغییر هستند
با تشکر

omid1240
دوشنبه 12 شهریور 1386, 19:28 عصر
دستور اجتماع : UNION
دستور اشتراک : INTERSECT
طریقه بکار گیری :



SELECT ... FROM...
UNION
SELECT ... FROM ...


باید دقت کنید در زمان استفاده از دستورات اجتماع ، اشتراک و تفریق Same arity (همتایی) رعایت شود . منظور از Same arity این است که 1- تعداد ستون های انتخاب شده در SELECT ها یکسان باشد . 2- نوع ستون ها یک به یک همسان باشد .

parva64
چهارشنبه 05 آبان 1389, 11:53 صبح
دستور اجتماع : UNION
دستور اشتراک : INTERSECT
طریقه بکار گیری :



SELECT ... FROM...
UNION
SELECT ... FROM ...


باید دقت کنید در زمان استفاده از دستورات اجتماع ، اشتراک و تفریق Same arity (همتایی) رعایت شود . منظور از Same arity این است که 1- تعداد ستون های انتخاب شده در SELECT ها یکسان باشد . 2- نوع ستون ها یک به یک همسان باشد .


با سلاممن تمام شرايطم يكسان هست ولي وقتي دستور intersect رو استفاده مي كنم ميگه همچين دستوري تعريف نشده هستش؟

behrooz123
پنج شنبه 26 خرداد 1390, 09:55 صبح
با عرض سلام
دوستان میتونین از این کد هم استفاده کنین
ALTER proc [dbo].[GetCertificate]
(
@CertificateID int=Null ,
@CertificateName nvarchar(50)=Null

)
as
select A.CertificateID,A.CertificateName
,A.CertificateOrder,A.Remark
from Certificate A
where CertificateID=COALESCE(@CertificateID,CertificateI D) and
CertificateName=COALESCE(@CertificateName,Certific ateName)