سلام
SELECT Data.Products.Id, Data.Products.ProductName, Data.Products.ProductPrice, Data.Products.ProductOff, Data.Images.Url, COUNT(*) AS Expr1 FROM Data.Images INNER JOIN Data.Products ON Data.Images.ProductId = Data.Products.Id GROUP BY Data.Products.Id, Data.Products.ProductName, Data.Products.ProductPrice, Data.Products.ProductOff, Data.Images.Url
یه جدول دارم که اطلاعات عکس هام توشه.
یه جدول دیگه دارم که اطلاعات محصولاتم توشه.
وقتی ریلیشن میزنم؛ چون تعداد عکس ها برای هر محصول میتونه زیاد باشه.... نتیجه اینطوری میشه.
راه حل؟
میتونید GroupBy بزنید تا تکراری حذف بشه و همه تصاویر نیز استخراج بشه
این کوئری نتیجه Group by هست. اما حذف نشده.
ببینید 4 تا فیلد اول، به غیر از Image، دارای مقادیر تکراری هست. اون مقادیر فقط لازمه که 1 بار در نتیجه کوئریم باشه.
اما به خاطر اینکه عکس ها متفاوت هست، اون 4 تا فیلد رو هم مجدد تکرار میکنه.
میتونید از SubQuery هم استفاده کنید
یعنی یک کوئری بزنید اطلاعات اولیه یا همان تکراری ها رو بدست بیارید و بعد با کوئری دیگه تصاویر رو استخراج کنید
سلام
همین حرکت رو زدم
مرسی
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)