join چند جدول و حذف رکورد های تکراری بر اساس یک فیلد در mysql

0 رأی
میانگین بازدید روزانه 0.591,807 بازدید
باسلام

 میخوام از جدول join شده، داده های تکراری یک فیلد ، فقط یک بار نمایش بده

بانک mysql

سپاس
سوال 8 سال قبل در تالار برنامه نویسی توسط setareh (89 امتیاز)
ویرایش 8 سال قبل توسط setareh
لطفا نظرتون رو در قالب جواب مطرح کنید. با تشکر.
در صورتی که فیلدها بیشتر از یکی باشند باید از groupby استفاده کنید.
مثلا اگر کوئری شما این باشه:
SELECT
  prod_list.id,
  prod_list.prodname,
  MAX(prod_pict.pict_file) AS `pict_file`,
FROM
  prod_list
INNER JOIN
  prod_pict
ON
  prod_list.id = prod_pict.prod_id
به شکل زیر در میاد:
SELECT
  prod_list.id,
  prod_list.prodname,
  MAX(prod_pict.pict_file) AS `pict_file`,
FROM
  prod_list
INNER JOIN
  prod_pict
ON
  prod_list.id = prod_pict.prod_id
GROUP BY
  prod_list.id,
  prod_list.prodname
که بر اساس id , prodname مرتب و تکراری بودن داده ها بررسی میشود

1 جواب

0 رأی

شما میتونید فقط از یک جدول که join شده نمایش بدید که در اینصورت داده ها فقط یک بار نمایش داده میشوند و از دستور distinct هم میتونید استفاده کنید.
به عنوان مثال:
 

SELECT distinct food.name FROM food_tag
INNER JOIN food ON food.uid=food_tag.food_id INNER JOIN tag_tbl ON tag_tbl.uid=food_tag.tag_id 
where tag_tbl.uid IN ('761','714
جواب 5 سال قبل توسط mreram (20 امتیاز)
ویرایش 5 سال قبل توسط Saeed Zarinfam

سوال های مشابه

+1 رأی
1 جواب میانگین بازدید روزانه 0.331,226 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.2418 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 1.626,010 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.361,336 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.11272 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.511,324 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.21552 بازدید
کانال تلگرام جواب یاب
...