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

نام تاپیک: مشکل در دستور SELECT

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    ایران
    پست
    1,328

    مشکل در دستور SELECT

    سلام دوستان
    Untitled.png
    تو عکس بالا رکورد دوم رو وشاهده کنید
    من میخوام به جای عدد 2 نام شخصی که کدش 2 هستش از جدول اشخاص نمایش داده شود و همین طور تو فیلد چهارم هم همین طور یعنی نام شخصی از جدول اشخاص نمایش داده شود که کدش 1 هست
    در واقع از فیلد آی دی جدول اشخاص دو بار باید استفاده شود اما من کد زیر رو نوشتم هیچ چیز نمایش نمیده
    SELECT Payment.PID, Account.ANumber, Account.ANumber, Payment.PAmount, Payment.Pdate, Payment.PDescription
    FROM Account INNER JOIN Payment ON (Payment.PTId = Account.AID) AND (Account.AID = Payment.PFId);

    یعنی 1و2 رو نمایش نمیده باید هر دو عدد یا 1 باشد یا 2 یعنی باید برابر باشن
    چی کار کنم که درست بشه
    ممنون

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

    نقل قول: مشکل در دستور SELECT

    سلام
    یک روش :
    دو بار جوین کنید - یکی برای PFId و یکی هم برای PTId

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    ایران
    پست
    1,328

    نقل قول: مشکل در دستور SELECT

    من هر کاری کردم نشد
    این کد رو چه طور بکنم 2 تا INNER JOIN

    SELECT Payment.PID, Account.ANumber, Account.ANumber, Payment.PAmount, Payment.Pdate, Payment.PDescription
    FROM Account INNER JOIN Payment ON (Payment.PTId = Account.AID) AND (Account.AID = Payment.PFId);

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: مشکل در دستور SELECT

    یعنی شما دو شخص مختلف رو باید برای هر سطر بیارید؟ من فرض میکنم فیلد مربوط به نام شخص Name و نام جدول اشخاص، Account هست:

    SELECT
    Payment.ID,
    Account1.Name AS AccountName1,
    Account2.Name AS AccountName2
    FROM Payment INNER JOIN Account Account1 ON (Payment.PTId = Account1.AID)
    INNER JOIN Account Account2 ON (Payment.PFId = Account2.AID)

    همه فیلد ها رو ننوشتم میتونید اضافه کنید.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    ایران
    پست
    1,328

    نقل قول: مشکل در دستور SELECT

    من از این کد هیچ سر در نیاوردم
    ببینید جدول من 3 تا فیلد داره
    دریافت کننده
    پرداخت کننده
    مبلغ
    که دریافت کننده و پرداخت کننده هر دو در یک جدول به نام اشخاص هستن که کداشون تو جدول پرداخت ذخیره میشه حالا من میخوام جای این کدا اسماشون بیاد یعنی دو دستور جوین ولی به شکلی که بین دو جدول هستش

  6. #6

    نقل قول: مشکل در دستور SELECT

    فرض بر اینکه جدول اشخاص person با فیلدهای زیر باشه
    ID : primary
    Fname
    Lname
    و جدول پرداخت کننده با نام tblPardakt شامل فیلدهای زیر باشه
    ID , ID

    یکی برای دریافت کننده(ID) و دیگری برای پرداخت کننده(ID) در این صورت برای نمایش نامهای هر دو شخص به صورت زیر عمل میکنیم
    select A.Fname,A.Lname,B.Fname,B.Lname from person as A,person As B,tblpardakht
    where A.ID=tblpardakht.ID and B.ID=tblpardakht.ID

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    ایران
    پست
    1,328

    نقل قول: مشکل در دستور SELECT

    دوست عزیز من کد شما رو نوشتم اما جواب نداد
    ببین این بانکمهDatabase4.rar

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    ایران
    پست
    1,328

    نقل قول: مشکل در دستور SELECT

    یکی بیاد کمک
    Untitled.png
    دقیقأ منظورم اینه
    یک join رو میتونم بنویسم اما دو تا شده به مشکل بر خوردم

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: مشکل در دستور SELECT

    سلام

    به این صورت باید بنویسی

    SELECT   dbo.Person.ID, dbo.tblPardakt.Pname, dbo.Person.Pform, dbo.Person.Pto, dbo.Person.Mablagh
    FROM dbo.Person INNER JOIN dbo.tblPardakt ON dbo.Person.ID = dbo.tblPardakt.ID

  10. #10
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: مشکل در دستور SELECT

    شما اسم این دو جدول رو ننوشتین تا من براتون عبارت دقیق رو بنویسم.فرض کنیم بالایی(توی عکس) payment باشه و پایینی person.دقت کنید چون ما دوبار به جدول person، عمل join رو انجام میدیم، از اسامی مستعار p1 و p2 در عبارت استفاده کردم:

    SELECT
    payment.ID,
    P1.Pname AS PersonNameFrom,
    P2.Pname AS PersonNameTo,
    payment.mablagh
    FROM payment INNER JOIN person P1 ON (payment.pfrom = P1.PID)
    INNER JOIN person P2 ON (payment.pto = P2.PID)

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

    نقل قول: مشکل در دستور SELECT


    SELECT * From ((Payment Inner Join People As P1 On Payment.Pfrom=P1.PID )
    Inner Join People As P2 ON Payment.Pto=P2.PID)

  12. #12

    نقل قول: مشکل در دستور SELECT

    نقل قول نوشته شده توسط programerinfonet مشاهده تاپیک
    یکی بیاد کمک
    Untitled.png
    دقیقأ منظورم اینه
    یک join رو میتونم بنویسم اما دو تا شده به مشکل بر خوردم
    با توجه به تصویر جدولتون فرض رو بر این میزاریم که جدول بالا اسمش tblpardakht و جدول پایین اسمش person باشه دستورش به این شکل میشه
    select A.Pname,B.Pname,mablagh from person as A,person As B,tblpardakht
    where tblpardakht.pfrom=person.PID and tblpardakht.pto=person.ID
    اگر بازم مشکل داشتید متن دستورتونو بنویسید تا ببینیم مشکلتون از کجاست

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    ایران
    پست
    1,328

    نقل قول: مشکل در دستور SELECT

    خیلی ممنون از همه ی دوستان
    من فقط تونستم این کد رو استفاده کنم
    اونم 10 فیلد اضافه ی دیگه هم کنارش نمایش میده
    SELECT * From ((Payment  Inner Join People As P1 On Payment.Pfrom=P1.PID )   
    Inner Join People As P2 ON Payment.Pto=P2.PID)

    من شوالم رو خیلی ساده مطرح کردم نمی دونم چرا اینقدر جوابش پیچیدست
    کلأ تو یک جدول تو یک رکورد کد دو شخص وجود داره که میخوام جای کداشون اسمشون نمایش داده بشه
    بی زحمت توی همین بانکی که بالا ضمیمه کردم اول تست کنید
    ممنون

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

    نقل قول: مشکل در دستور SELECT

    نقل قول نوشته شده توسط programerinfonet مشاهده تاپیک
    خیلی ممنون از همه ی دوستان
    من فقط تونستم این کد رو استفاده کنم
    اونم 10 فیلد اضافه ی دیگه هم کنارش نمایش میده
    SELECT * From ((Payment  Inner Join People As P1 On Payment.Pfrom=P1.PID )   
    Inner Join People As P2 ON Payment.Pto=P2.PID)

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

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

  1. سوال: مشکل با دستور select
    نوشته شده توسط khz-web1 در بخش VB.NET
    پاسخ: 9
    آخرین پست: دوشنبه 25 شهریور 1387, 00:34 صبح
  2. مشکل با دستور Select برای جستجو در Sqlite
    نوشته شده توسط solook در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 1
    آخرین پست: سه شنبه 29 مرداد 1387, 01:15 صبح
  3. مشکل در دستور select
    نوشته شده توسط rahil_2007 در بخش SQL Server
    پاسخ: 2
    آخرین پست: شنبه 25 اسفند 1386, 08:43 صبح
  4. مشکل در دستور Select
    نوشته شده توسط aliakbarzadeh در بخش SQL Server
    پاسخ: 2
    آخرین پست: سه شنبه 17 آبان 1384, 15:17 عصر
  5. مشکل در دستور Select
    نوشته شده توسط aliakbarzadeh در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 17 آبان 1384, 15:17 عصر

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

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