0 امتیاز
قبل در برنامه نویسی توسط (89 امتیاز)
ویرایش شده قبل توسط
باسلام

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

بانک mysql

سپاس
قبل توسط (1.1هزار امتیاز)
لطفا بیشتر توضیح بدهید که منظورتان چیست.
این سوال رو هم نگاهی بیاندازید: https://javabyab.com/5180
قبل توسط (20 امتیاز)
شما میتونید فقط از یک جدول که 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
قبل توسط (1.1هزار امتیاز)
لطفا نظرتون رو در قالب جواب مطرح کنید. با تشکر.
قبل توسط (20 امتیاز)
در صورتی که فیلدها بیشتر از یکی باشند باید از 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 امتیاز
قبل توسط (20 امتیاز)
ویرایش شده قبل توسط

شما میتونید فقط از یک جدول که 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

سوالات مشابه

+1 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 552 بازدید
+1 امتیاز
1 پاسخ 6.5هزار بازدید
0 امتیاز
2 پاسخ 1.6هزار بازدید
0 امتیاز
0 پاسخ 442 بازدید
0 امتیاز
1 پاسخ 1.6هزار بازدید
...