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

نام تاپیک: محتویات یک جدول

  1. #1
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اسفند 1383
    پست
    180

    محتویات یک جدول

    لطفاً راهنمایی نمایید چگونه می توان محتویات یک جدول را بصورت یک رشته ، یعنی پشت سرهم داشته باشیم . مثلاً : ریاضی - فیزیک - شیمی

    نه اینچنین : ریاضی

    فیزیک

    شیمی

  2. #2

    use northwind
    go
    declare @var1 nvarchar(4000)
    set @var1=''
    select @var1=@var1+isnull(country,'')+'-' from customers
    select @var1

  3. #3
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    خیلی جالبه
    من این امکان رو تو اوراکل ندیدم
    اگه دوستان اطلاعی دارن یه ندا بدن

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام hmm عزیز
    امکان بالا تو اوراکل وجود داره، هم با استفاده از PL/SQL و هم با استفاده از SQL.
    مثال زیر یکی از چندین روش دسترسی به اطلاعات به شکل فوق هستش :

    select max(decode(name_seq,1,last_name)) || ' ' ||
    max(decode(name_seq,2,last_name)) || ' ' ||
    max(decode(name_seq,3,last_name)) || ' ' ||
    max(decode(name_seq,4,last_name)) || ' ' ||
    max(decode(name_seq,5,last_name)) || ' ' ||
    --تا 100 یا بیشتر ادامه بده تا همه ستونهای مرتبط در یه سطر قرار بگیرن
    max(decode(name_seq,100,last_name)) emp_list
    from ( select last_name,
    row_number() over (partition by 1 order by 1) name_seq
    from employees
    )
    order by 1;


    این همیشه درست جواب میده ولی یه کمی کدنویسیش زیاده، باید به تعداد سطرهای پیش فرضت تابع decode رو تکرار کنی .
    روشهای دیگه ای هم داره.

    امیدوارم بدردت بخوره.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    اینم الان نوشتم، اینم درسته تستش کردم :

    with
    ordemp as (select last_name from employees order by department_id),
    seqemp as (select rownum rn, ordemp.last_name from ordemp),
    paths as (select sys_connect_by_path(last_name,',') concat, rn
    from seqemp o
    connect by rn = prior rn + 1
    start with rn = 1
    )
    select concat
    from paths p
    where p.rn = (select count(last_name) from employees);


    مشکل استفاده از تابع decode رو هم نداره.

    امیدوارم بدرت بخوره.

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

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