PDA

View Full Version : کمک در حل مشکل یک کوئری؟



majid325
یک شنبه 27 خرداد 1386, 17:02 عصر
با سلام:
من یک جدول b دارم که با جدول s از طریق b1 و s1 ارتباط یک به چند داره
حالا میخوام رکوردهای b1 ، b2 ،b3 ،s2 رو از این 2 جدول با شرط زیر انتخاب کنم ولی نمیدونم شرطم رو به چه صورت تغییر بدم که شرط در هر کدوم از رکوردهای اس درست بود رکوردها انتخاب بشن (یعنی رکوردی انتخاب بشه که در هیچ کدوم از سطرهای ca3 ، s.s2 نباشه ولی ca1 و زca2 به صورت or باشن )

SELECT b.b1, b.b2,b.b3,s.s2
FROM b Left JOIN s ON b.b1 =s.s1
WHERE s.s2 like 'ca1' or s.s2 like 'ca2' and s.s2 not like 'ca3'
GROUP BY b.b1, b.b2, b.b3;

SYNDROME
یک شنبه 27 خرداد 1386, 18:44 عصر
با سلام
اگر درست فهمیده باشم باید مقدار s.s2 یا 'ca1' یا 'ca2' نه جفتش.


SELECT b.b1, b.b2,b.b3,s.s2
FROM b Left JOIN s ON b.b1 =s.s1
WHERE (s.s2 like 'ca1' And s.s2 Not like 'ca2') OR (s.s2 Not like 'ca1' And s.s2 like 'ca2')
GROUP BY b.b1, b.b2, b.b3;

mzjahromi
یک شنبه 27 خرداد 1386, 21:12 عصر
اگر اشتباه نکنم اینو میخوای


SELECT b.b1, b.b2,b.b3,s.s2
FROM b,s where b.b1 =s.s1
and (s.s2 ='ca1' or s.s2 ='ca2') and
not s.s1 in( Select distinct S1 from S where S.S2='ca3')