View Full Version : انتخاب از دو جدول
naiereh
دوشنبه 13 دی 1395, 17:44 عصر
با سلام . یک فروشگاه را در نظر بگیرید ممکمنه یک محصول را با چند نام مختلف داشته باشند ولی عینا این محصولات مثل هم هستند . من برای اینکه جدول محصولاتم حجیم نشه در جدول اول اطلاعات همه محصولات را ذخیره کردم و در جدول دوم هر محصولی که چند نام مختلف داشت را با توجه به id محصول در جدول اول ، ذخیره کردم . یعنی در جدول دوم فقط id محصول اصلی و اسم جدید آن محصول را ذخیره می کنم . می خواهم یک کوئری بنویسم که کلیه محصولات را نشون بده یعنی همه محصولات جدول اول + محصولاتی که در جدول دوم اسم جدید دارند.
SELECT * FROM wp_posts WHERE wp_posts.post_type = 'product'
SELECT * FROM wp_posts INNER JOIN wp_newtablepost ON wp_posts.ID=wp_newtablepost.idpost WHERE wp_posts.post_type = 'product'
در select اول همه محصولات را نشون می دهم و در دومی محصولات چند اسمی
می خواهم از یک query استفاده کنم . لطفا کمک کنید.
alireza_s_84
دوشنبه 13 دی 1395, 17:56 عصر
با سلام . یک فروشگاه را در نظر بگیرید ممکمنه یک محصول را با چند نام مختلف داشته باشند ولی عینا این محصولات مثل هم هستند . من برای اینکه جدول محصولاتم حجیم نشه در جدول اول اطلاعات همه محصولات را ذخیره کردم و در جدول دوم هر محصولی که چند نام مختلف داشت را با توجه به id محصول در جدول اول ، ذخیره کردم . یعنی در جدول دوم فقط id محصول اصلی و اسم جدید آن محصول را ذخیره می کنم . می خواهم یک کوئری بنویسم که کلیه محصولات را نشون بده یعنی همه محصولات جدول اول + محصولاتی که در جدول دوم اسم جدید دارند.
SELECT * FROM wp_posts WHERE wp_posts.post_type = 'product'
SELECT * FROM wp_posts INNER JOIN wp_newtablepost ON wp_posts.ID=wp_newtablepost.idpost WHERE wp_posts.post_type = 'product'
در select اول همه محصولات را نشون می دهم و در دومی محصولات چند اسمی
می خواهم از یک query استفاده کنم . لطفا کمک کنید.
از دستور UNION استفاده کنید.
تا بحال سیستمهای زیادی رو طراحی کردم ولی هیچوقت با سیستمی که کالایی دوتا نام همنام داشته باشه برخورد نکردم بهتره در سناریو و مدلسازیتون تجدید نظر کنید.
naiereh
دوشنبه 13 دی 1395, 18:10 عصر
ممکنه یک مثال بزنید
alireza_s_84
دوشنبه 13 دی 1395, 18:17 عصر
ممکنه یک مثال بزنید
SELECT Col1, Col2, Col3, ..., Col[n] FROM TableA
UNION
SELECT Col1, Col2, Col3, ..., Col[n] FROM TableB AS b INNER JOIN TableA AS a ON a.PK = b.FK
حتما باید تعداد و نوع داده ستونهای خروجی دو کوئری مثل هم باشه.
برای سناریوی شما در کوئری دوم جدول نامهای دیگر کالا به جدول اصلی کالا پیوند زده میشه از طریق شناسه کالا
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.