آژانس هواپیمایی
pop up

جلوگیری از تکرار یک رکورد در خروجی (Distinct نیست)

شروع موضوع توسط Bahram.ws ‏2 ژانویه 2008 در انجمن زبان T-SQL

  1. Bahram.ws

    Bahram.ws Registered User

    تاریخ عضویت:
    ‏8 آگوست 2005
    نوشته ها:
    1,133
    تشکر شده:
    71
    محل سکونت:
    On The Fly
    سلام از جداول زیر میخوام یک Query به این صورت بگیرم:

    با داشتن cid تمام product های مربوط به این cid گرفته شود البته تا اینجاش رو میدونم
    مشکل در اینه که میخوام فقط یک عکس از جدول product_images گرفته شود چون در صورتی که یک product بیشتر از یک image داشته باشه در خروجی این product دو بار تکرار میشود

    رکورد هایی که میخوام بگیرم:

    products.id , products.name_en , product_categories.name_en , product_images.image


    [​IMG]
     

    فایل های ضمیمه:

    • tables.GIF
      tables.GIF
      اندازه فایل:
      9 KB
      نمایش ها:
      35
  2. a_r3003

    a_r3003 کاربر تازه وارد

    تاریخ عضویت:
    ‏11 ژانویه 2008
    نوشته ها:
    3
    تشکر شده:
    0
    با سلام

    دوست گرامی شما نمی توانید به سیستم بگید فقط یکبار این فیلد Image رو بگیره
    یه راهش اینه که در این Select فیلد Image رو نگیری
    بعد که میخواهی توی برنامه نشون بدی با زدن یه کوئری یا با نوشتن یه SP که یک رکورد رو برمیگردونه مقدار اون فیلد رو بر اساس فیلد مشترک که ID هست در اینجا ، از جدول مربوط بخونی و اونو نمایش بدی

    این بهترین راه هستش برای اینکه حجم دیتای گرفته شده پایین بیاد

    امیدوارم راهنمایی ناچیز من کمکی برای شما بوده باشه
    موفق باشید
     
  3. POXER

    POXER Registered User

    تاریخ عضویت:
    ‏20 جولای 2011
    نوشته ها:
    61
    تشکر شده:
    3
    در تایید جواب a_r3003 زمانی که شما چند جدول را به هم متصل می کنید تمام رکورد ها می آید
    مگر اینکه دستور خود را به اینگونه اصلاح کنید
    کد:
    Select
    	Table.*,
    	(Select images_url From images_table where parent_id = Table.id Limit 1) image_url
    From
    	Table
    
     
  4. elna

    elna کاربر تازه وارد

    تاریخ عضویت:
    ‏15 سپتامبر 2013
    نوشته ها:
    34
    تشکر شده:
    3
    Ban kanid MARAB,BAkoshid MARA