PDA

View Full Version : MYSQL : نمایش نتایج مشترک دو کوئری



Weblove
جمعه 10 بهمن 1393, 02:05 صبح
سلام
ما دو تا کوئری داریم با نتایج متفاوت
ممکنه بعضی نتایج شبیه هم بشه
من می خوام نتایجی که توی هر دو مشترک هست رو نمایش بده

select productid from smart_data where levelid=7;
select productid from smart_data where levelid=11;
پیشاپیش ممنون از راهنمایی

hamedarian2009
جمعه 10 بهمن 1393, 09:59 صبح
خب خروجی هر کوئری میشه یه آرایه میتونید با array_intersect (http://php.net/manual/en/function.array-intersect.php) مشترک هاشو جدا کنید

hamedarian2009
جمعه 10 بهمن 1393, 10:01 صبح
تو خود کوئری هم میتونی اینجوری مشترکهارو بدست بیاری

select productid from smart_data where levelid=7 intersect select productid from smart_data where levelid=11;

Weblove
شنبه 11 بهمن 1393, 02:30 صبح
تو خود کوئری هم میتونی اینجوری مشترکهارو بدست بیاری

select productid from smart_data where levelid=7 intersect select productid from smart_data where levelid=11;

کلا واژه INTERSECT رو قبول نمیکنه mysql

دقیقا همین که شما دادید رو زدم ارور داد
http://www.ebazar.biz:2082/cpsess3674492084/3rdparty/phpMyAdmin/themes/dot.gif #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'intersect select productid from smart_data where levelid=11 LIMIT 0, 30' at line 1

Weblove
شنبه 11 بهمن 1393, 02:43 صبح
این پاسخ رو از stackoverflow گرفتم !
گذاشتم برای یه گرفتار مثل خودم در آینده :

select pow
from (select productid pow from smart_data where levelid=7) T1
INNER JOIN
(select productid pow from smart_data where levelid=12) T2
USING (pow);