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

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

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

بانک mysql

سپاس
سوال 7 سال قبل در تالار برنامه نویسی توسط setareh (89 امتیاز)
ویرایش 7 سال قبل توسط 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.29987 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.18309 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 1.655,620 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.361,226 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.09191 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.521,188 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.19454 بازدید
کانال تلگرام جواب یاب
...