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

نام تاپیک: استخراج نام فیلدها در یک رشته

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1388
    محل زندگی
    ته کوچه شک...
    پست
    234

    استخراج نام فیلدها در یک رشته

    سلام. چطوری میتونم در دستور select کاری کنم که همه مقادیر یک فیلد (که مثلاً با کاما از هم جدا شده اند) رو استخراج کنم.
    مثلاً اگر جدول t1 چهار تا رکورد داشته باشه و در فیلد name مقادیر ali و akbar و ahmad وجود داشته باشه خروجی باید بصورت ali،akbar,ahmad باشه
    در MySql دستور Group_concat این کار رو انجام میده.
    در حقیقت بفرمائید بجای علامت سوال چی بنویسم ؟ (از cursor نمیخواهم استفاده کنم)

    Select ?(name) from t1

    این کوئری باید با یه کوئری دیگه unionبشه. بنابراین نمیتونم متغیر تعریف کنم و ...

  2. #2

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

    سلام،

    دستور SELECT یک syntax ای داره به نام Assignment Select یعنی می تونین در این دستور یک متغیر رو مقدار دهی کنین به این شکل:

    Declare @concat varchar(100) --d

    SELECT @concat = COALESCE(@concat + ', ','') + name FROM table_name

    SELECT @concat AS Concatenating

  3. #3

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

    نقل قول نوشته شده توسط esmit61 مشاهده تاپیک

    این کوئری باید با یه کوئری دیگه unionبشه. بنابراین نمیتونم متغیر تعریف کنم و ...
    لطفا برای گرفتن جواب دقیق به سوالات پاسخ بدین:

    1 Query خودتون رو در اینجا قرار بدین و اصلا نگران شدت پیچیده گی و طولانی بودن کدها نباشین (چون جزئیات اهمیت دارن مثلا آیا کوئری ماده ی group by داره ...)
    2 از چه نسخه ی SQL Server استفاده می کنین؟ 2000 یا بالاتر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1388
    محل زندگی
    ته کوچه شک...
    پست
    234

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

    من که عرض کردم نمیتونم از متغیر استفاده کنم
    راستش هدف من تست کردن امنیت یه سایته. در حقیقت من میخوام ببینم آیا میتونم از طریق injection لیست جداول طراحی شده برای یک سایت رو بدست بیارم یا نه ؟
    از اونجایی که سایت مورد نظر فقط یک جا برای گذاشتن فیلد داره (یعنی حالت grid نداره) مجبورم توی همون یک فضا، کل جداول رو نشون بدم. میبینید که نمیتونم از متغیر استفاده کنم

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

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