نمایش نتایج 1 تا 2 از 2

نام تاپیک: انتخاب سطرهایی که فیلدشون چندمقداری هستن

  1. #1
    کاربر دائمی آواتار as13851365
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    لیبدرا
    سن
    36
    پست
    533

    Question انتخاب سطرهایی که فیلدشون چندمقداری هستن

    جدولی به شرح داده ای زیر در دیتابیس mysql داریم

    کد HTML:
    insert into tabattr(id,attrfield)valeus(1,"25,26,30,34"),(2,"4,5,6,7,8"),(3,"52,63,64,65")
    چطوری میتونیم رکوردهایی رو برگردونیم که فیلد attrfield دارای شرطی مثلا attrfield={5,8} داشته باشن ؟

    در دیتابیس postgresql با استفاده از دستورات جیسون و تعریف فیلد از نوع جیسون به صورت زیر میشه انجام داد

    کد HTML:
     where  attrfield->'id' @> '[118,122]'

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: انتخاب سطرهایی که فیلدشون چندمقداری هستن


    DECLARE @a varchar(200),@sql varchar(1000),@i smallint
    SET @a='5,8'
    SET @sql=''
    SELECT @i=CHARINDEX(',',@a)
    while @i <> 0
    begin
    if @sql =''
    SET @sql=' WHERE ('+''''+','+''''+'+ RTRIM(attrfield) +'+''''+','+''''+') LIKE '+''''+'%,'+''''+'+'+''''+SUBSTRING(@a,1,@i-1)+''''+'+'+''''+',%'+''''
    else
    SET @sql=@sql+' AND ('+''''+','+''''+'+ RTRIM(attrfield) +'+''''+','+''''+') LIKE '+''''+'%,'+''''+'+'+''''+SUBSTRING(@a,1,@i-1)+''''+'+'+''''+',%'+''''


    SET @a=SUBSTRING(@a,@i+1,50)


    SET @i=CHARINDEX(',',@a)
    end
    if @sql =''
    SET @sql=' WHERE ('+''''+','+''''+'+ RTRIM(attrfield) +'+''''+','+''''+') LIKE '+''''+'%,'+''''+'+'+''''+@a+''''+'+'+''''+',%'+'' ''
    else
    SET @sql=@sql+' AND ('+''''+','+''''+'+ RTRIM(attrfield) +'+''''+','+''''+') LIKE '+''''+'%,'+''''+'+'+''''+@a+''''+'+'+''''+',%'+'' ''


    SET @sql='SELECT * FROM tabattr '+@sql


    exec (@sql)

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: دوشنبه 12 مرداد 1394, 12:25 عصر
  2. سوال: ترجمه دکمه های بستن بازیابی کوچک نمایی و بزرگ نمایی در یک پروژه ام اف سی
    نوشته شده توسط little.boy در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 2
    آخرین پست: دوشنبه 01 اسفند 1390, 10:49 صبح
  3. پاسخ: 3
    آخرین پست: دوشنبه 08 شهریور 1389, 10:03 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •