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

نام تاپیک: واکشی اطلاعات یک فیلد شماره تلفن با شماره های متفاوت و نامهای یکسان و نمایش در جلوی هر نام

  1. #1
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

    Question واکشی اطلاعات یک فیلد شماره تلفن با شماره های متفاوت و نامهای یکسان و نمایش در جلوی هر نام

    سلام دوستان
    چطوری امکانش هست که اینکار را انجام بدیم:
    شماره تلفن
    32260467 سجاد رضایی 8 1756636125 امیر
    32260474 سجاد رضایی 8 1756636125 امیر
    32260476 سجاد رضایی 8 1756636125 امیر
    32260477 سجاد رضایی 8 1756636125 امیر
    32268541 سجاد رضایی 8 1756636125 امیر
    32269221 سجاد رضایی 8 1756636125 امیر
    اسم و فامیل یکسانه ولی شماره تلفنهای اون متفاوته
    حالا میخوام با یک select اسم و فامیل را در یک رکورد بیاره و شماره های متفاوت اون را جلوی آن نمایش بده
    باید چکار کرد؟
    ممنون

  2. #2

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


  3. #3
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    ممنون ولی مشکل حل نشد اگه ممکنه راهنمایی کنید باید چکار کرد؟

  4. #4
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    سلام دوستان
    من یکبار دیگه توضیح بدم
    من میخوام چندین ستون که اطلاعات فیلد های اونها با هم یکسانه و فقط شماره تلفن اونها با هم فرق میکنه را شماره تلفن های اون شخص را تجمیع کنم و در جلوی اون رکورد قرار بدم که اگه مثلا 10 تا رکورد برای اون شخص ثبت شده اونو به یک رکورد تبدیل کنم و فقط شماره های تلفن اون را جلوی رکورد اون شخص که یک رکورد هست قرار بدم

  5. #5

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

    بهترین راه اینه که تلفنهای هر شخص رو توی یک فیلد بصورت xml ذخیره کنی. همونطور که یکی از دوستان دو تا لینک برات گذاشت

  6. #6
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط mahyar501 مشاهده تاپیک
    بهترین راه اینه که تلفنهای هر شخص رو توی یک فیلد بصورت xml ذخیره کنی. همونطور که یکی از دوستان دو تا لینک برات گذاشت
    ممنون
    میتونید یک مثال در این زمینه بزنید
    خیلی بهش نیاز دارم

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    776

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

    سلام
    لینک زیر را ببینید :
    https://www.mssqltips.com/sqlservert...l-server-data/

  8. #8
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    دوستان من این دستور select را براش نوشتم ولی بازم یک رکورد را واکشی نمیکنه
    SELECT SS.lname,STUFF((SELECT '; ' + US.tel FROM tbl_tel US WHERE US.id = SS.id ORDER BY tel FOR XML PATH('')), 1, 1, '') [no1] FROM tbl_tel SS GROUP BY SS.id, SS.lname ORDER BY 1

    اینم جدول:
    122.jpgباید چکار کرد؟
    کد را چطوری تغییر بدم؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    776

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

    سلام
    شکلهای زیر را ببینید :

    Phone.gif
    Phone2.gif

  10. #10

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

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    دوستان من این دستور select را براش نوشتم ولی بازم یک رکورد را واکشی نمیکنه
    SELECT SS.lname,STUFF((SELECT '; ' + US.tel FROM tbl_tel US WHERE US.id = SS.id ORDER BY tel FOR XML PATH('')), 1, 1, '') [no1] FROM tbl_tel SS GROUP BY SS.id, SS.lname ORDER BY 1

    اینم جدول:
    122.jpgباید چکار کرد؟
    کد را چطوری تغییر بدم؟
    این جدول شما نرمال نیست. باید یک جدول برای شخص و یک جدول برای تلفن داشته باشید که با کد شخص در ارتباط هستند.
    http://stackoverflow.com/questions/5...iter-in-column

  11. #11
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    ممنونم دوست عزیز من اومدم از دو جدول استفاده کردم و مشکل حل شد
    فقط شماره ها رو با این دستور select میاد همه را داخل یک فیلد با کاما از هم جدا میکنه اگه بخوام هر شماره ای را داخل یک فیلد جدا گانه بذارم باید چکار کنم؟
    کد به چه صورت تغییر میکنه؟
    Unt.jpg
    الان به این صورت هست (عکس بالا)
    حالا میخوام هر شماره ای را در یک فیلد جداگانه قرار بدم
    باید چکار کنم؟
    دوستان یک موضوع دیگه اینکه من اطلاعات رو از طریق یک فایل اکسل وارد دیتابیس میکنم و امکان تعریف id نیست که با توجه به id بیام گروه بندی کنم
    من یک فایل اکسل را وارد دیتابیس میکنم و یک فایل دیگه اکسل وارد میکنم و فایل دومی میاد داخل فایل اولی جستجو میکنه و شماره هایی را که مربوط به آن اسامی هست را جلوی هر نام وارد میکنه و اگر مثلا 10 رکورد سعید رجایی داریم میاد اونها رو به یک رکورد تبدیل میکنه و تمام شماره هاشو جلوی او میاره
    حالا فقط مشکل اینه که شماره ها رو بیاد هر کدوم را داخل یک فیلد قرار بده نه همه رو داخل یک فیلد



    دوستان این کدیه که استفاده کردم
      SqlConnection con = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    con.ConnectionString = strCon;
    SqlDataAdapter adapt = new SqlDataAdapter();
    adapt.SelectCommand = new SqlCommand();
    adapt.SelectCommand.Connection = con;
    adapt.SelectCommand.CommandText = string.Format("SELECT ss.tel,SS.lname,ss.name,ss.shsh,ss.meli,ss.birthda y,ss.father,STUFF((SELECT ' | ' + US.tel FROM tbl_tel US WHERE (US.meli = SS.meli) and (US.lname=SS.lname) and (US.name=SS.name) and (US.father=SS.father) ORDER BY tel FOR XML PATH('')), 1, 1, '') [no1] FROM tbl_ic SS GROUP BY ss.tel,SS.lname,ss.name,ss.shsh,ss.meli,ss.birthda y,ss.father ORDER BY 1");

    System.Data.DataTable dt = new System.Data.DataTable();
    adapt.Fill(dt);

    dataGridViewX5.DataSource = dt;
    dataGridViewX5.Visible = true;
    dataGridViewX5.Update();
    dataGridViewX5.Refresh();

    تمام شماره ها داخل فیلد [no1 ] که داخل دستور select گذاشتم نمایش داده میشه
    حالا میخوام این کد را تغییر بدم که هر شماره داخل یک فیلد جداگانه نشون داده بشه
    حالا باید جه کاری انجام بدم؟
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 17 آبان 1395 در 21:23 عصر

  12. #12

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

    ببینید، چون تعداد تلفن ها ثابت نیست ، ایجاد ستون برای هر تلفن به این راحتی نیست که با یک تغییر کوچک در کوئری تون بتونید عملیش کنید.

    راهنمایی که میتونم بکنم اینه که با dynamic pivot میتونید به جواب برسید(که البته از لحاظ امنیتی توصیه نمیشه ولی در جایی که تنها راه حل هست مجبور به استفاده هستید)

  13. #13
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    ممنون
    حالا اگه امکانش هست درباره dynamic pivot یک توضیحی بدهید.

  14. #14
    کاربر دائمی آواتار juza66
    تاریخ عضویت
    دی 1389
    محل زندگی
    هفت تپه - 7hill
    پست
    798

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

    سلام

    دوستان اشاره کردن، شما دو جدول یکی کد مشتری و نام مشتری و جدول دومی کد مشتری و شماره تلفن مشتری بذار و اینجور واکشی کن.

  15. #15
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

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

    مشکل شما طراحی نامتعارف جدول هست بهتر طراحی جدول رو اصلاح کنی(آنچه جناب افراد بهش اشاره کردن). به نظر من همون کویری قبلی که اجتماع شماره ها رو داخل یک ستون می ریزی کفایت کن .سپس با اصلاح ستون آخر(شماره ها) در DataTable میتونی به نتیجه یی که میخوای برسی
    First,solve the problem then write the code

  16. #16
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    مشکل شما طراحی نامتعارف جدول هست بهتر طراحی جدول رو اصلاح کنی(آنچه جناب افراد بهش اشاره کردن). به نظر من همون کویری قبلی که اجتماع شماره ها رو داخل یک ستون می ریزی کفایت کن .سپس با اصلاح ستون آخر(شماره ها) در DataTable میتونی به نتیجه یی که میخوای برسی
    ممنونم آقای رحیمی لطفا بگین چطوری با تغییر data table میشه ستون اخر را تفکیک کرد و هر شماره ای را داخل یک فیلد ریخت؟

  17. #17
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

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

    ابتدا باید ماکزیمم تعداد ستون هایی که قرار به دیتاتیبل اضافه شود بدست بیاری با بدست آوردن بیشترین طول ستون آخر(اجتماع شماره ها) و تفکیک آن ،تعداد ستون های ماکزیمم بدست میاد.
    سپس به تعداد ماکزیمم ستون بدست امده ،ستون به دیتاتیبل اضافه کن.پس با یک حلقه for روی دیتاتیبل ( ستون مورد نظر را تفکیک و مقادیر رادر ستونهای متناظر دیتاتیبل قرار بده)در آخر هم میتونی ستون اضافه(اجتماع شماره ها) را از دیتاتیبل حذف نمایی
    First,solve the problem then write the code

  18. #18
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    ممنونم مهندس رحیمی از راهنمایی شما
    چطوری اجتماع شماره ها را که داخل یک فیلد هست را از هم تفکیک کنم ؟
    ماکزیمم شماره ها هم معلومه حداکثر 10 شماره تلفن
    بازم ممنون از وقتی که گذاشتید

  19. #19
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

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

    خب از تصویر بالا که نتیجه کویری داخل دیتاگرید ریختی شما از کاراکتر | برای جدا سازی شماره ها استفاده کردی کافیه محتوای سلول که یک رشته هست را با split کردن ،جداسازی کرد.
    First,solve the problem then write the code

  20. #20

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

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    ممنونم مهندس رحیمی از راهنمایی شما
    چطوری اجتماع شماره ها را که داخل یک فیلد هست را از هم تفکیک کنم ؟
    ماکزیمم شماره ها هم معلومه حداکثر 10 شماره تلفن
    بازم ممنون از وقتی که گذاشتید
    دوستان در مورد دیتاتیبل توضیح میدن ، من دیگه وارد نمیشم.
    اما در مورد pivot ؛ چون حداکثر برای تعداد تلفن ها تعیین کردید با یک pivot قابل حل هست.(اگر تعداد تلفن ها حداکثر نداشته باشه یا تعداد زیاد باشه ، کوئری زیر جوابگو نیست)

    اگر جدول تلفن ها رو به صورت زیر فرض کنیم:
    CREATE TABLE [dbo].[Telephone](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [personId] [int] NULL,
    [phoneNumber] [varchar](50) NULL,
    CONSTRAINT [PK_Telephone] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    کوئری زیر جواب شماست
    declare @t as TABLE( id int , personid int , phone varchar(max) , rownumber bigint);

    insert into @t
    select
    *,
    ROW_NUMBER() over (PARTITION by personid order by id asc) as rownumber
    from telephone

    select
    ttt.personid,
    max([1]) ,
    max([2]) ,
    max([3]) ,
    max([4]) ,
    max([5]) ,
    max([6]) ,
    max([7]) ,
    max([8]) ,
    max([9]) ,
    max([10])
    from
    (
    select
    pppp.personid, [1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10]
    from @t
    pivot
    (
    max(phone)
    for rownumber
    in([1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10])
    ) as pppp
    ) ttt
    group by personid

    خروجی رو میتونید با جدول اشخاص join کنید. اگر هم نمیتونید جدولها رو تفکیک کنید، کافیه قسمت کوئری بالا رو اصلاح کنید.

  21. #21
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    خب از تصویر بالا که نتیجه کویری داخل دیتاگرید ریختی شما از کاراکتر | برای جدا سازی شماره ها استفاده کردی کافیه محتوای سلول که یک رشته هست را با split کردن ،جداسازی کرد.
    ممنون
    بعد از جدا سازی به چه صورت هر شماره را داخل یک فیلد بذارم
    میشه از طریق کد توضیح بدید ممنون میشم

  22. #22
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    سلام آقای افراد ممنونم از کدی که گذاشتید
    مشکل من اینه که اطلاعات از طریق فایل اکسل وارد میشه و اطلاعات داخل فایل مشخصه و نمیشه براش id و یا کلید خارجی تعریف کرد
    به این صورت که ما یک فایل اکسل داریم متشکل از 7 فیلد و این فایل در دیتابیس دخیره میشه
    و یک فایل دیگه داریم بازم متشکل از 7 فیلد حالا میخوام وقتی فایل دوم وارد شد بره و داخل دیتابیس جستجو کنه و شماره تلفن ها رو واکشی کنه
    و هر شماره ای را داخل یک فیلد جلوی مشخصات اون فرد بریزه
    حالا مشکل من الان فقط تفکیک اون شماره هاست که همه داخل یک فیلد قرار دارند و با "|" از هم جدا شدند میخوام اینها رو از اون فیلد هر کدام را به فیلد جدا گانه ای انتقال بدم و هر شماره داخل یک فیلد قرار بگیره
    حالا من با کوئری بالا مشکل واکشی شماره را به طور دقیق داخل یک فیلد انجام دادم
    حالا اگه ممکنه از طریق کد یه توضیح بدید چطوری شماره های داخل این یک فیلد را با تغییر در data table به چند فیلد تغییر بدم که هر شماره بره داخل یک فیلد

  23. #23

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

    اسکریپت جداولی که دخیل هستند رو قرار بدید.



    پ.ن:
    دیتابیس sqlserver رو که خود شما طراحی کردید، درسته؟ حالا فایل اکسل هر اشتباهی داره چرا سعی نمیکنید طراحیتون رو درست کنید؟ یک ستون کلید اصلی به جدول اشخاص اضافه کنید و رابطه برقرار کنید. یا حتی میتونید ستون کد ملی رو کلید کنید.

  24. #24
    کاربر دائمی آواتار juza66
    تاریخ عضویت
    دی 1389
    محل زندگی
    هفت تپه - 7hill
    پست
    798

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

    حالا اگه ممکنه از طریق کد یه توضیح بدید چطوری شماره های داخل این یک فیلد را با تغییر در data table به چند فیلد تغییر بدم که هر شماره بره داخل یک فیلد
    اول تعداد تلفن دریافت شده رو مشخص کن و تویی آرایه بریز
    بعدش با یک حلقه - کولن اضاف کن و متغییرت رو بهش پاس بده


    یک سوال: چرا نظرات دوستان و اساتید رو توجه نمیکنید؟! دلیل خاصی داره؟ یعنی کار انجام شده و مشکل در نمایش دارید؟! نمیشه اصولی که دوستان اشاره کردن رعایت شود؟

  25. #25
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اسکریپت جداولی که دخیل هستند رو قرار بدید.



    پ.ن:
    دیتابیس sqlserver رو که خود شما طراحی کردید، درسته؟ حالا فایل اکسل هر اشتباهی داره چرا سعی نمیکنید طراحیتون رو درست کنید؟ یک ستون کلید اصلی به جدول اشخاص اضافه کنید و رابطه برقرار کنید. یا حتی میتونید ستون کد ملی رو کلید کنید.
    آقای افراد من جدولم را باید بر اساس فایل اکسلی که وارد میشه طراحی کنم
    اگه یک فیلد ازش کم یا زیاد بشه که فایل وارد دیتابیس نمیشه وخطا میده فیلد های فایل اکسل و جدول دیتابیس باید تعدادش یکی باشه وگرنه خطامیده
    اطلاعات وارد شده هم زیاده 300000 هزار داده یکجا وارد دیتابیس میشه
    اگه امکانش هست روش دیتاتیبل را برام توضیح بدید چطوری با تغییر در دیتاتیبل و روش split کردن رشته با توجه به کوئری بالا میتونم شماره رو تفکیک کنم
    با این روش مشکلم حل میشه

  26. #26

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

    اسکریپت جداولی که دخیل هستند رو قرار بدید.

  27. #27
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اسکریپت جداولی که دخیل هستند رو قرار بدید.
    دو جدول بهنامهای tbl_tel1 که اطلاعات اولیه هستند و با اکسل وارد میشوند و او فیلد های no1 , no2 ... هم فیلد هایی هست که قراره شماره های تفکیک شده در هر کدوم از اینها قرار بگیره
    CREATE TABLE [dbo].[tbl_tel1](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [name] [int] NULL,
    [lname] [varchar](50) NULL,
    [tel] [varchar](50) NULL,
    [shsh] [varchar](50) NULL,
    [meli] [varchar](50) NULL,
    [birthday] [varchar](50) NULL,
    [father] [varchar](50) NULL,
    [no1] [varchar](50) NULL,
    [no2] [varchar](50) NULL,
    [no3] [varchar](50) NULL,
    [no4] [varchar](50) NULL,
    [no5] [varchar](50) NULL,
    [no6] [varchar](50) NULL,
    [no7] [varchar](50) NULL,
    [no8] [varchar](50) NULL,
    [no9] [varchar](50) NULL,
    [no10] [varchar](50) NULL


    CONSTRAINT [PK_tel] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    یک جدول دیگه هم به نام tbl_ic1 که اطلاعات درون اون با جدول اول مقایسه و مورد جستجو قرار میگیره و این جدول هم از طریق اکسل وارد برنامه میشه
    CREATE TABLE [dbo].[tbl_ic1](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [name] [varchar](50) NULL,
    [lname] [varchar](50) NULL,
    [tel] [varchar](50) NULL,
    [shsh] [int] NULL,
    [meli] [int] NULL,
    [birthday] [varchar](50) NULL,
    [father] [varchar](50) NULL


    CONSTRAINT [PK_tel] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

  28. #28

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

    کدی که بنده گذاشتم رو کمی دستکاری میکردید به جواب میرسیدید.

    declare @t as TABLE([meli] [varchar](50) NULL, [tel] [varchar](50) NULL, rownumber bigint);

    insert into @t([meli], [tel], rownumber)
    select [meli], [tel], ROW_NUMBER() over (PARTITION by [meli] order by [tel] asc) as rownumber
    from tbl_tel

    select *
    from tbl_ic1
    join (select Pivotresult_Set.[meli] ,
    max([1]) as [no1] , max([2]) as [no2] , max([3]) as [no3] , max([4]) as [no4] ,
    max([5]) as [no5] , max([6]) as [no6] , max([7]) as [no7] , max([8]) as [no8] ,
    max([9]) as [no9] , max([10]) as [no10]
    from (
    select Pivot_Set.meli, [1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10]
    from @t
    pivot
    ( max(tel)
    for rownumber in([1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10])
    ) as Pivot_Set
    ) Pivotresult_Set
    group by Pivotresult_Set.[meli]
    ) Tel_Set
    on tbl_ic1.meli = Tel_Set.[meli]

    اگر نیاز به آپدیت هست میتونید همین کوئری رو تغییر بدید تا tbl_tel1 آپدیت بشه.
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 18 آبان 1395 در 22:51 عصر دلیل: اصلاح کد

  29. #29
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    واقعا ممنونم آقای افراد مشکل حل شد
    واقعا نمیدونم چطوری ازتون تشکر کنم خیلی لطف کردید
    حالا اگه بخوام یه شرط (where ) به این کوئری اضافه کنم باید کدوم قسمتش بذارم
    مثلا اگر فقط بر اساس نام و نام خانوادگی شماره هار رو بیاره یا بر اساس فقط کد ملی یا نام پدر

  30. #30
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    کدی که بنده گذاشتم رو کمی دستکاری میکردید به جواب میرسیدید.

    declare @t as TABLE([meli] [varchar](50) NULL, [tel] [varchar](50) NULL, rownumber bigint);

    insert into @t([meli], [tel], rownumber)
    select [meli], [tel], ROW_NUMBER() over (PARTITION by [meli] order by [tel] asc) as rownumber
    from tbl_tel

    select *
    from tbl_ic1
    join (select Pivotresult_Set.[meli] ,
    max([1]) as [no1] , max([2]) as [no2] , max([3]) as [no3] , max([4]) as [no4] ,
    max([5]) as [no5] , max([6]) as [no6] , max([7]) as [no7] , max([8]) as [no8] ,
    max([9]) as [no9] , max([10]) as [no10]
    from (
    select Pivot_Set.meli, [1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10]
    from @t
    pivot
    ( max(tel)
    for rownumber in([1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10])
    ) as Pivot_Set
    ) Pivotresult_Set
    group by Pivotresult_Set.[meli]
    ) Tel_Set
    on tbl_ic1.meli = Tel_Set.[meli]

    اگر نیاز به آپدیت هست میتونید همین کوئری رو تغییر بدید تا tbl_tel1 آپدیت بشه.
    کد اولی که گذاشتید درست جواب داد ولی این بالایی را که اصلاح کردید میاد سه تا فیلد جا میذاره و بعد دوباره کد ملی را insert میکنه
    و بعد شماره ها را داخل فیلد های 4 به بعد میذاره

  31. #31

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

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    کد اولی که گذاشتید درست جواب داد ولی این بالایی را که اصلاح کردید میاد سه تا فیلد جا میذاره و بعد دوباره کد ملی را insert میکنه
    و بعد شماره ها را داخل فیلد های 4 به بعد میذاره
    اگر تغییری در کد دادید باید بگید چه تغییری ؛ و اینکه منظورت از insert چیه؟ داری نتیجه سلکت بالا رو insert میکنی یا آپدیت یا فقط از سلکت اجرا میگیری؟

  32. #32
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اگر تغییری در کد دادید باید بگید چه تغییری ؛ و اینکه منظورت از insert چیه؟ داری نتیجه سلکت بالا رو insert میکنی یا آپدیت یا فقط از سلکت اجرا میگیری؟
    من فقط کوئری شما را در بالا اجرا کردم بدون هیچ تغییری
    من مشکلم با اون کوئری که قبل از این گذاشتید حل شد ممنون
    حالا اگه بخوام یک شرط (where ) به این کوئری اضافه کنم باید این شرط را کدوم قسمتش بذارم؟
    مثلا اگر فقط بر اساس نام و نام خانوادگی شماره هار رو بیاره یا بر اساس فقط کد ملی یا نام پدر

  33. #33

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

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    من فقط کوئری شما را در بالا اجرا کردم بدون هیچ تغییری
    من مشکلم با اون کوئری که قبل از این گذاشتید حل شد ممنون
    حالا اگه بخوام یک شرط (where ) به این کوئری اضافه کنم باید این شرط را کدوم قسمتش بذارم؟
    مثلا اگر فقط بر اساس نام و نام خانوادگی شماره هار رو بیاره یا بر اساس فقط کد ملی یا نام پدر
    بعد از join میتونید شرط اعمال کنید

    select ...
    from ...
    join ...
    on ....
    where ...

  34. #34
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    بعد از join میتونید شرط اعمال کنید

    select ...
    from ...
    join ...
    on ....
    where ...
    من میخوام این شرط را اعمال کنم خطا میده
    مقایسه فقط نام و نام خانوادگی یعنی بیاد فقط بر اساس مام و نام خانوادگی جستجو کنه

    where (tbl_tel.name=tbl_ic.name) and (tbl_tel.lname=tbl_ic.lname)

  35. #35

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

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    من میخوام این شرط را اعمال کنم خطا میده
    مقایسه فقط نام و نام خانوادگی یعنی بیاد فقط بر اساس مام و نام خانوادگی جستجو کنه

    where (tbl_tel.name=tbl_ic.name) and (tbl_tel.lname=tbl_ic.lname)
    فکر کتم منظورت شرط join هست درسته؟ کد ملی مولفه بهتری برای join هست چون هر کس کد ملی منحصر به فردی داره. چرا به این شرط نیاز داری؟ مگر کد ملی در هر دو جدول وجود نداره؟

  36. #36
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    فکر کتم منظورت شرط join هست درسته؟ کد ملی مولفه بهتری برای join هست چون هر کس کد ملی منحصر به فردی داره. چرا به این شرط نیاز داری؟ مگر کد ملی در هر دو جدول وجود نداره؟
    میخوام بر اساس تک تک فیلدهای دو جدول جستجو و مقایسه کنه
    من یه جستجوی کلی دارم که اون رو با کد ملی انجام میدم
    و یک جستجوی مقایسه ای با تک تک فیلد ها مثلا نام و نام خانوادگی یا نام پدر یا شماره شناسنامه
    حالا جستجوی کلی مشکلی نداره از join کد ملی استفاده میکنم حالا برای مقایسه با نام خانوادگی باید شرطم را کجا قرار بدم؟
    بعد از join قرار دادم به نام و نام خانوادگی خطا میده که اینها وجود ندارند باید جدول tbl_tel را کجا براش تعریف کنم
    مهندس افراد یک مشکل دیگه هم هست که این اطلاعات که با اکسل وارد میشه ممکنه فردی کد ملی نداشته باشه اونوقت کلید خارجی کد ملی چی میشه؟
    تکلیف چیه؟ بر چه اساسی جستجو و مقایسه صورت میگیره؟

  37. #37

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

    نقل قول نوشته شده توسط reza4359 مشاهده تاپیک
    میخوام بر اساس تک تک فیلدهای دو جدول جستجو و مقایسه کنه
    من یه جستجوی کلی دارم که اون رو با کد ملی انجام میدم
    و یک جستجوی مقایسه ای با تک تک فیلد ها مثلا نام و نام خانوادگی یا نام پدر یا شماره شناسنامه
    حالا جستجوی کلی مشکلی نئاره از join کد ملی استفاده میکنم حالا برای مقایسه با نام خانوادگی باید شرطم را کجا قرار بدم؟
    بعد از join قرار دادم به نام و نام خانوادگی خطا میده که اینها وجود ندارند باید جدول tbl_tel را کجا براش تعریف کنم
    یعنی میخواهید مثلا با گرفتن نام و نام خانوادگی یا ... اطلاعات شخص رو همراه شماره تلفنهاش رو جستجو کنید؟ چیزی شبیه جستجوی پیشرفته.

  38. #38
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    یعنی میخواهید مثلا با گرفتن نام و نام خانوادگی یا ... اطلاعات شخص رو همراه شماره تلفنهاش رو جستجو کنید؟ چیزی شبیه جستجوی پیشرفته.
    آره مهندس اطلاعات دو جدول که از طریق اکسل وارد دیتابیس میشه تعداد فیلد هاش یکسانه
    میخوام اگه مثلا بر اساس کد ملی چک کرد و کد ملی نداشت بره سراغ نام خانوادگی و اگه نداشت نام پدر یا شماره شناسنامه و..
    من چند تا check box گذاشتم به اسم نام و نام خانوادگی ، نام پدر ، کد ملی و..
    میخوام ترکیب هر کدوم را زدم (یعنی مثلا نام و نام خانوادگی ) بر اون اساس جستجو کنه

  39. #39

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


  40. #40
    کاربر دائمی آواتار reza4359
    تاریخ عضویت
    مهر 1387
    محل زندگی
    So close
    پست
    619

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

    آقای افراد من الان مشکلم اینه که وقتی میخوام بعد از join یه شرط بذارم و فیلد tbl_tel.name یا tbl_tel.lname را بذارم برای شرط نام و نام خانوادگی جدول tbl_tel را نمیشناسه و میگه اینا وجود ندارن
    چکار کنم که فیلد های جدول tbl_tel را هم مثل جدول tbl_ic بشناسه
    هر کاری کردم نشد
    این پیغام را میده

    {"Column name or number of supplied values does not match table definition."}

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

  1. پاسخ: 10
    آخرین پست: دوشنبه 25 دی 1391, 17:56 عصر
  2. سوالي درباره ذخيره خروجي يك رشته از تابع با طول هاي متفاوت در يك ارايه
    نوشته شده توسط one hacker alone در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 6
    آخرین پست: دوشنبه 28 فروردین 1391, 15:06 عصر
  3. پاسخ: 9
    آخرین پست: یک شنبه 28 آذر 1389, 16:31 عصر
  4. پاسخ: 3
    آخرین پست: سه شنبه 25 اسفند 1388, 10:47 صبح
  5. پاسخ: 3
    آخرین پست: یک شنبه 22 مرداد 1385, 14:30 عصر

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

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