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

نام تاپیک: سوال در مورد join سه جدول و مشکلی که بوجود آمد

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    سوال در مورد join سه جدول و مشکلی که بوجود آمد

    با سلام

    دوستان من بین 3 جدولم join بستم حالا این join من اومده تعداد سطرای malirecieve*cardtocard کرده میاره نشون میده و این کار باعث شده کلی سطر تکراری من داشته یاشم تو گزارشم

    این دستورم:
     SqlConnection connect = new SqlConnection();
    connect.ConnectionString = Ajans.Properties.Settings.Default.Connection.ToStr ing();
    string conditions = "1=1";
    if (checkBox1.Checked == true)
    {
    conditions += "and MP.namebank='" + NameBank.Text + "' ";
    }
    else
    {
    checkBox1.Checked = false;
    }
    if (checkBox4.Checked == true)
    {
    conditions += "and SP.dateharekat='" + DateHarekat.Value.FarsiSelectedDate + "' ";
    }
    else
    {
    checkBox4.Checked = false;
    }
    if (checkBox5.Checked == true)
    {
    conditions += "and MR.Nametor='" + nametor.Text + "' ";
    }
    else
    {
    checkBox5.Checked = false;
    }
    if (checkBox2.Checked == true)
    {
    conditions += "and MR.DateRecieve between '" + From.Value.FarsiSelectedDate + "' and '" + To.Value.FarsiSelectedDate + "' ";
    }
    else
    {
    checkBox2.Checked = false;
    }
    //-------------------پرداختی ها
    string conditions1 = "1=1";
    if (checkBox1.Checked == true)
    {
    conditions1 += "and CardToCardPeyment.NameBank='" + NameBank.Text + "' ";
    }
    else
    {
    checkBox1.Checked = false;
    }
    if (checkBox4.Checked == true)
    {
    conditions1 += "and customer.dateharekat='" + DateHarekat.Value.FarsiSelectedDate + "' ";
    }
    else
    {
    checkBox4.Checked = false;
    }
    if (checkBox5.Checked == true)
    {
    conditions1 += "and MaliPeyment.Nametor='" + nametor.Text + "'";
    }
    else
    {
    checkBox5.Checked = false;
    }
    if (checkBox2.Checked == true)
    {
    conditions1 += "and MaliPeyment.DateRecieve between'" + From.Value.FarsiSelectedDate + "' and '" + To.Value.FarsiSelectedDate + "'";
    }
    else
    {
    checkBox2.Checked = false;
    }
    if (Type.SelectedIndex == 0)
    {
    DG.Visible = true;
    pardakht.Visible = false;
    try
    {
    connect.Open();
    // SqlDataAdapter saeed = new SqlDataAdapter(@"select MaliRecieve.shgh as [ش قرارداد],MaliRecieve.FamilyM as [نام مسافر],MaliRecieve.Nametor as [نام تور],customer.dateharekat as [تاریخ حرکت],customer.Count as تعداد,CardtoCard.Malirecieve as مبلغ ,MaliRecieve.TypeRecieve as [نوع دریافت], CardtoCard.ShPeygiri as [ش پیگیری],MaliRecieve.tarafhesab as [طرف حساب] From MaliRecieve inner join customer on malirecieve.shgh=customer.shgh inner join cardtocard on cardtocard.shgh=malirecieve.shgh where Customer.typePassenger='true' And " + conditions, connect);
    SqlDataAdapter saeed = new SqlDataAdapter(@"select MR.ShGh AS شرح
    ,MR.FamilyM AS [نام مسافر]
    ,SP.dateharekat AS [تاریخ حرکت]
    ,MR.DateRecieve as [تاریخ دریافت]
    ,SP.count AS تعداد
    ,MP.Malirecieve AS مبلغ
    ,MR.TypeRecieve AS [نوع دریافتی]
    ,MP.ShPeygiri AS [ش پیگیری]
    ,MR.Nametor AS [نام تور]
    ,MR.tarafhesab AS [طرف حساب]

    From
    malirecieve MR Full Outer Join cardtocard MP
    ON
    MR.ShGh = MP.ShGh Full Outer Join customer SP ON MR.Shgh=SP.Shgh where SP.typePassenger='true' And " + conditions, connect);
    DataTable t = new DataTable(); saeed.Fill(t);
    DG.DataSource = t;
    DG.RetrieveStructure();
    DG.RootTable.Columns[5].FormatString = "#,#";
    }
    catch (Exception x)
    {
    MessageBox.Show(x.Message.ToString());
    }
    finally
    {
    connect.Close();
    }
    }
    else
    {
    if (Type.SelectedIndex == 1)
    {
    DG.Visible = false;
    pardakht.Visible = true;
    try
    {
    connect.Open();
    SqlDataAdapter insert = new SqlDataAdapter(@"select MaliPeyment.shgh as [ش قرارداد],MaliPeyment.FamilyM as [نام مسافر],MaliPeyment.Nametor as [نام تور],customer.dateharekat as [تاریخ حرکت],customer.Count as تعداد,CardToCardPeyment.Malirecieve as مبلغ ,MaliPeyment.TypeRecieve as [نوع پرداخت],CardToCardPeyment.ShPeygiri as [ش پیگیری] From MaliPeyment Full Outer Join CardToCardPeyment on MaliPeyment.shgh=CardToCardPeyment.shgh Full Outer Join customer on MaliPeyment.shgh=customer.shgh where Customer.typePassenger='true' And " + conditions1, connect);
    DataTable t = new DataTable(); insert.Fill(t);
    pardakht.DataSource = t;
    pardakht.RetrieveStructure();
    pardakht.RootTable.Columns[5].FormatString = "#,#";
    }
    catch (Exception x)
    {
    MessageBox.Show(x.Message.ToString());
    }
    finally
    {
    connect.Close();
    }
    }
    else
    {
    }
    }


    دوستان من بدجوری نیاز دارم به حل این مشکل.
    دستور سلکت من طوری هست که میار از شروط ترکیبی استفاده میکنه اگه تو دستورم دقت کنین متوجه میشین به خاطر همین هم نمی تونم از group by استفاده کنم چرا که دستور سلکت من با +condition تموم میشه

    لطفا کمکم کنین

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    سلام
    بجای FULL OUTER JOIN
    از
    INNER JOIN
    و یا نسبت به مورد
    از LEFT OUTER JOIN
    استفاده کنید
    موفق باشید

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    دوست خوب این کارارو کردم جواب نمیده

    مشکل در جای دیگس که نمیدونم کجاست

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    دوستان چطور این دستورو بنویسم که نیاد تعداد رکوردهای جدول A*B کنه و در خروجی نشوم بده

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

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

    مشکل در جای دیگس که نمیدونم کجاست
    سلام
    اولا که شما براحتی میتونید دستور مربوط به Group By را نیز با Condition ... ترکیب کنید و به نتیجه مطلوب برسید
    ثانیا به احتمال زیاد مشکلتون از نوع JOIN مورد استفاده است ( تا اونجایی که میدونم نتیجه FULL OUTER JOIN حاصلضرب دکارتی دو جدول را میده . دقیقا همون چیزی که شما بدست میارین ... )
    در صورتیکه هنوز مشکلتون حل نشده تصویر فیلدهای جداولتون همراه با نمونه دیتا و نتیجه ای که از سلکت انتظار دارین را اینجا قرار بدین

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    دوست عزیز اررور میده وقتی از group by استفاده میکنم من از group by اینطوری استفاده میکنم:

     SqlDataAdapter saeed = new SqlDataAdapter(@"select MR.ShGh AS شرح
    ,MR.FamilyM AS [نام مسافر]
    ,SP.dateharekat AS [تاریخ حرکت]
    ,MR.DateRecieve as [تاریخ دریافت]
    ,SP.count AS تعداد
    ,MP.Malirecieve AS مبلغ
    ,MR.TypeRecieve AS [نوع دریافتی]
    ,MP.ShPeygiri AS [ش پیگیری]
    ,MR.Nametor AS [نام تور]
    ,MR.tarafhesab AS [طرف حساب]

    From
    malirecieve MR Full Outer Join cardtocard MP
    ON
    MR.ShGh = MP.ShGh Full Outer Join customer SP ON MR.Shgh=SP.Shgh where SP.typePassenger='true' And " + conditions+"group by MP.shgh", connect);

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    اینم ارور
    mali.png

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    نقل قول نوشته شده توسط نیما حتمی مشاهده تاپیک
    دوست عزیز اررور میده وقتی از group by استفاده میکنم من از group by اینطوری استفاده میکنم:

     SqlDataAdapter saeed = new SqlDataAdapter(@"select MR.ShGh AS شرح
    ,MR.FamilyM AS [نام مسافر]
    ,SP.dateharekat AS [تاریخ حرکت]
    ,MR.DateRecieve as [تاریخ دریافت]
    ,SP.count AS تعداد
    ,MP.Malirecieve AS مبلغ
    ,MR.TypeRecieve AS [نوع دریافتی]
    ,MP.ShPeygiri AS [ش پیگیری]
    ,MR.Nametor AS [نام تور]
    ,MR.tarafhesab AS [طرف حساب]

    From
    malirecieve MR Full Outer Join cardtocard MP
    ON
    MR.ShGh = MP.ShGh Full Outer Join customer SP ON MR.Shgh=SP.Shgh where SP.typePassenger='true' And " + conditions+"group by MP.shgh", connect);
    خب به این شکل استفاده از Group By اشتباهه
    شما در دستور سلکت ده فیلد و سلکت کردین و میخواین بر اساس یک فیلد گروهبندی کنید و اونهم فیلدی که اصلا سلکت نکردین
    به هر حال برای اینکه زودتر به نتیجه برسین فعلا گروهبندی را بزارین کنار و چیزی را که ازتون خواستم ( تصویر فیلدها و ..... ) اینجا قرار بدین . البته اگر براتون مقدوره .......
    موفق باشین

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد


  10. #10
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    دوست گلم من حتی وقتی میام فیلدی رو که حتی تو سلکتم استفاده شده است رو میزارم توgroup by باز هم ارور میده

    در کل خواسته من نمایش فیلدهایی که تو سلکتم آوردم در غالب یه گزارش هست
    البته تصویر فیلدها ضرورتی نداره چون نوع فیلدها و...... همگی رعایت شده چیزی که واقعا نمی فهمم اینه که چرا اررور میده و چرا میاد تعداد رکوردهای malirecieve*تعداد رکوردهای cardtocard میکنه و تو گزارش نشون میده

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    نقل قول نوشته شده توسط نیما حتمی مشاهده تاپیک
    دوست گلم من حتی وقتی میام فیلدی رو که حتی تو سلکتم استفاده شده است رو میزارم توgroup by باز هم ارور میده

    در کل خواسته من نمایش فیلدهایی که تو سلکتم آوردم در غالب یه گزارش هست
    البته تصویر فیلدها ضرورتی نداره چون نوع فیلدها و...... همگی رعایت شده چیزی که واقعا نمی فهمم اینه که چرا اررور میده و چرا میاد تعداد رکوردهای malirecieve*تعداد رکوردهای cardtocard میکنه و تو گزارش نشون میده
    OK
    موفق باشید
    لینک زیر را هم ببینید بد نیست
    http://www.codeproject.com/Articles/...-Tables-in-SQL

  12. #12
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    مرسی اصلان جان

    خیلی کمک کردی ولی من به نتیجه نرسیدم هنوز

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    اساتید کسی نیست کمک کنه این مشکل من حل بشه

  14. #14

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    حداقل اسکریپت جداول رو همراه با کوئری join بزارید تا بشه تست کرد.

  15. #15
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد


    USE [Ajans]
    GO
    /****** Object: Table [dbo].[users] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[users](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NULL,
    [Family] [nvarchar](50) NULL,
    [Pass] [nvarchar](50) NULL,
    [username] [nvarchar](50) NULL,
    [tarifetor] [bit] NULL,
    [users] [bit] NULL,
    [AccessUsers] [bit] NULL,
    [recieption] [bit] NULL,
    [gozaeshat] [bit] NULL,
    [finance] [bit] NULL,
    [gozaeshatchek] [bit] NULL,
    [EditGozaresh] [bit] NULL,
    [SystemSetting] [bit] NULL,
    [BaseTbl] [bit] NULL,
    [BlakList] [bit] NULL,
    [Alarm] [bit] NULL,
    [DialyGozaresh] [bit] NULL,
    [Kartabl] [bit] NULL,
    [FinanceMali] [bit] NULL,
    CONSTRAINT [PK_users] 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]
    GO
    /****** Object: Table [dbo].[Typevasile] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Typevasile](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [NameVasileRaft] [nvarchar](50) NULL,
    [Namevasilebargasht] [nvarchar](50) NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[TaeidTbl] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[TaeidTbl](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [shgh] [nvarchar](50) NULL,
    [accountkol] [int] NULL,
    [MonyHotel] [int] NULL,
    [MonyP] [int] NULL,
    [KolP] [int] NULL,
    [Sod] [int] NULL,
    [Managment] [bit] NULL,
    [modirefanni] [bit] NULL,
    [Comm] [nvarchar](500) NULL,
    [MonyGasht] [int] NULL,
    [MonyComisiun] [int] NULL,
    [DateHotel] [nvarchar](50) NULL,
    [DateParvaz] [nvarchar](50) NULL,
    [DateGasht] [nvarchar](50) NULL,
    CONSTRAINT [PK_TaeidTbl] 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]
    GO
    /****** Object: Table [dbo].[Setting] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Setting](
    [NameCompany] [nvarchar](50) NULL,
    [TelN] [nvarchar](50) NULL,
    [FaxN] [nvarchar](50) NULL,
    [Logo] [image] NULL,
    [Address] [nvarchar](200) NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[salemali] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[salemali](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NULL,
    [DateStart] [nvarchar](50) NULL,
    [DateEnd] [nvarchar](50) NULL,
    [MaliYear] [nvarchar](50) NULL,
    [shsef] [nvarchar](50) NULL,
    [shsekh] [nvarchar](50) NULL,
    [status] [nvarchar](50) NULL,
    CONSTRAINT [PK_salemali] 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]
    GO
    /****** Object: Table [dbo].[Rojo] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Rojo](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DateSabtenam] [nvarchar](50) NULL,
    [Name] [nvarchar](50) NULL,
    CONSTRAINT [PK_Rojo] 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]
    GO
    /****** Object: Table [dbo].[ReciveKoli] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[ReciveKoli](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DateSabt] [nvarchar](50) NULL,
    [DateRecive] [nvarchar](50) NULL,
    [TarafhesabName] [nvarchar](50) NULL,
    [Namayandeh] [nvarchar](50) NULL,
    [NameBank] [nvarchar](50) NULL,
    [ShH] [nvarchar](50) NULL,
    [mony] [int] NULL,
    [Shp] [nvarchar](50) NULL,
    [babate] [nvarchar](50) NULL,
    [Comm] [nvarchar](50) NULL,
    [Type] [nvarchar](50) NULL,
    CONSTRAINT [PK_ReciveKoli] 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]
    GO
    /****** Object: Table [dbo].[MaliRecieve] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[MaliRecieve](
    [ID] [int] NULL,
    [Shsanad] [nvarchar](50) NULL,
    [Shgh] [nvarchar](50) NULL,
    [NameM] [nvarchar](50) NULL,
    [FamilyM] [nvarchar](50) NULL,
    [Nametor] [nvarchar](50) NULL,
    [DateSabt] [nvarchar](50) NULL,
    [DateRecieve] [nvarchar](50) NULL,
    [TypeRecieve] [nvarchar](50) NULL,
    [MonyRecieve] [int] NULL,
    [mablaghekol] [int] NULL,
    [Comm] [nvarchar](500) NULL,
    [NameUser] [nvarchar](50) NULL,
    [tarafhesab] [nvarchar](50) NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[MaliPeyment] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[MaliPeyment](
    [ID] [int] NOT NULL,
    [Shsanad] [nvarchar](50) NULL,
    [Shgh] [nvarchar](50) NULL,
    [NameM] [nvarchar](50) NULL,
    [FamilyM] [nvarchar](50) NULL,
    [Nametor] [nvarchar](50) NULL,
    [DateSabt] [nvarchar](50) NULL,
    [DateRecieve] [nvarchar](50) NULL,
    [TypeRecieve] [nvarchar](50) NULL,
    [MonyPeyment] [int] NULL,
    [mablaghekol] [int] NULL,
    [TarafhesabName] [nvarchar](50) NULL,
    [Namayandename] [nvarchar](50) NULL,
    [Comm] [nvarchar](500) NULL,
    [NameUser] [nvarchar](50) NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[Leider] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Leider](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Datesabt] [nvarchar](50) NULL,
    [Name] [nvarchar](50) NULL,
    [Family] [nvarchar](50) NULL,
    [Sex] [nvarchar](50) NULL,
    [tahsilat] [nvarchar](50) NULL,
    CONSTRAINT [PK_Leider] 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]
    GO
    /****** Object: Table [dbo].[Kolipeyment] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Kolipeyment](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DateSabt] [nvarchar](50) NULL,
    [Typetor] [nvarchar](50) NULL,
    [Nametor] [nvarchar](50) NULL,
    [DateHarekat] [nvarchar](50) NULL,
    [TarafhesabName] [nvarchar](50) NULL,
    [Namayandeh] [nvarchar](50) NULL,
    [NameBank] [nvarchar](50) NULL,
    [ShH] [nvarchar](50) NULL,
    [Mony] [int] NULL,
    [babate] [nvarchar](50) NULL,
    [Comm] [nvarchar](500) NULL,
    [Shp] [nvarchar](50) NULL,
    [Type] [nvarchar](50) NULL,
    [UserName] [nvarchar](50) NULL,
    CONSTRAINT [PK_KoliPeymaebt] 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]
    GO
    /****** Object: Table [dbo].[HotelTbl] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[HotelTbl](
    [ID] [int] NOT NULL,
    [Shgh] [nvarchar](50) NULL,
    [NameTarafHesab] [nvarchar](50) NULL,
    [NAmeNamyande] [nvarchar](50) NULL,
    [MonyHotel] [int] NULL,
    [NameHotel] [nvarchar](50) NULL,
    [NameCity] [nvarchar](50) NULL,
    [StartHotel] [nvarchar](50) NULL,
    [Chekin] [nvarchar](50) NULL,
    [ChekOut] [nvarchar](50) NULL,
    [Night] [nvarchar](50) NULL,
    [Ext] [nvarchar](50) NULL,
    [Sgl] [nvarchar](50) NULL,
    [Dbl] [nvarchar](50) NULL,
    [Trp] [nvarchar](50) NULL,
    [fourbed] [nvarchar](50) NULL,
    [fivebed] [nvarchar](50) NULL,
    [sexbed] [nvarchar](50) NULL,
    [Comm] [nvarchar](500) NULL,
    [Managment] [bit] NULL,
    [modirefanni] [bit] NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[hotell] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[hotell](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [NameTor] [nvarchar](50) NULL,
    [NameHotel] [nvarchar](50) NULL,
    [Date] [nvarchar](50) NULL,
    [twootagh] [int] NULL,
    [treeotagh] [int] NULL,
    [fourotagh] [int] NULL,
    [fiveotagh] [int] NULL,
    [sexotagh] [int] NULL,
    [countotaghkol] [int] NULL,
    [countzarfiat] [int] NULL,
    [dateinter] [nvarchar](50) NULL,
    [dateout] [nvarchar](50) NULL,
    [DateHarekat] [nvarchar](50) NULL,
    [csandalibus] [int] NULL,
    [Nameairline1] [nvarchar](50) NULL,
    [cNameairline1] [int] NULL,
    [Nameairline2] [nvarchar](50) NULL,
    [cNameairline2] [int] NULL,
    [ModatEghamat] [char](10) NULL,
    [oneotagh] [int] NULL,
    [MonyComisiun] [int] NULL,
    CONSTRAINT [PK_hotell] 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]
    GO
    SET ANSI_PADDING OFF
    GO
    /****** Object: Table [dbo].[Hazine] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Hazine](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DateSabt] [nvarchar](50) NULL,
    [NameHazine] [nvarchar](50) NULL,
    CONSTRAINT [PK_Hazine] 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]
    GO
    /****** Object: Table [dbo].[gashtTbl] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[gashtTbl](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [shgh] [nvarchar](50) NULL,
    [MonyGasht] [int] NULL,
    [MonyFod] [int] NULL,
    [MonyMotefareghe] [int] NULL,
    [NameTG] [nvarchar](50) NULL,
    [NameTF] [nvarchar](50) NULL,
    [NameTM] [nvarchar](50) NULL,
    [Comm] [nvarchar](500) NULL,
    CONSTRAINT [PK_gashtTbl] 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]
    GO
    /****** Object: Table [dbo].[GardeshBank] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[GardeshBank](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Comm] [nvarchar](50) NULL,
    [Date] [nvarchar](50) NULL,
    [Bedehkari] [nvarchar](100) NULL,
    [Bestankari] [nchar](10) NULL,
    [NameUser] [nvarchar](50) NULL,
    CONSTRAINT [PK_GardeshBank] 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]
    GO
    /****** Object: Table [dbo].[Customer] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Customer](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [ShGH] [nvarchar](50) NULL,
    [NameC] [nvarchar](50) NULL,
    [Familyc] [nvarchar](50) NULL,
    [ShMobile] [nvarchar](50) NULL,
    [dateintertohetel] [nvarchar](50) NULL,
    [Typevasileraft] [nvarchar](50) NULL,
    [Typevasilebargasht] [nvarchar](50) NULL,
    [Datesabtenam] [nvarchar](50) NULL,
    [count] [int] NULL,
    [radeseni] [nvarchar](50) NULL,
    [request] [nvarchar](50) NULL,
    [Nameuser] [nvarchar](50) NULL,
    [madarek] [nvarchar](50) NULL,
    [Comm] [nvarchar](200) NULL,
    [NameHotel] [nvarchar](50) NULL,
    [Nametor] [nvarchar](50) NULL,
    [rezerv] [nvarchar](50) NULL,
    [Towotagh] [int] NULL,
    [treeotagh] [int] NULL,
    [fourotagh] [int] NULL,
    [fiveotagh] [int] NULL,
    [sexotagh] [int] NULL,
    [accountkol] [int] NULL,
    [sersingletransfer] [bit] NULL,
    [serdtransfer] [bit] NULL,
    [sersobhane] [bit] NULL,
    [sernahar] [bit] NULL,
    [sersham] [bit] NULL,
    [S2] [nvarchar](50) NULL,
    [s3] [nvarchar](50) NULL,
    [s4] [nvarchar](50) NULL,
    [s5] [nvarchar](50) NULL,
    [s6] [nvarchar](50) NULL,
    [typegh] [nvarchar](50) NULL,
    [vagozar] [nvarchar](50) NULL,
    [csandalibus] [int] NULL,
    [traft] [bit] NULL,
    [tbargasht] [bit] NULL,
    [vocher] [bit] NULL,
    [motamam] [bit] NULL,
    [chnames] [bit] NULL,
    [chload] [bit] NULL,
    [chseni] [bit] NULL,
    [chmaharem] [bit] NULL,
    [chcon] [bit] NULL,
    [pishpardakht] [bit] NULL,
    [tasveye] [bit] NULL,
    [tahvilm] [bit] NULL,
    [ModateE] [nvarchar](50) NULL,
    [TypeTor] [nvarchar](50) NULL,
    [DateBack] [nvarchar](50) NULL,
    [typePassenger] [bit] NULL,
    [Documentmali] [bit] NULL,
    [CodeMelli] [nvarchar](10) NULL,
    [Htb] [int] NULL,
    [P1] [int] NULL,
    [P2] [int] NULL,
    [P3] [int] NULL,
    [Bestankar] [int] NULL,
    [bedehkar] [int] NULL,
    [Typerojo] [nvarchar](50) NULL,
    [Telsabet] [nvarchar](50) NULL,
    [Pasport] [nvarchar](50) NULL,
    [Address] [nvarchar](1000) NULL,
    [serhotel] [bit] NULL,
    [sersimkart] [bit] NULL,
    [sergashtnimroz] [bit] NULL,
    [sergashttamamroz] [bit] NULL,
    [serblit] [bit] NULL,
    [serbime] [bit] NULL,
    [commagriment] [nvarchar](50) NULL,
    [sex] [nvarchar](50) NULL,
    [Discount] [nvarchar](50) NULL,
    [DateHarekat] [nvarchar](50) NULL,
    [oneotagh] [int] NULL,
    [vagozarmony] [int] NULL,
    [CancelShgh] [bit] NULL,
    CONSTRAINT [PK_Customer] 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]
    GO
    /****** Object: Table [dbo].[ComisiunTbl] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[ComisiunTbl](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Shgh] [nvarchar](50) NULL,
    [NameTor] [nvarchar](50) NULL,
    [DateInter] [nvarchar](50) NULL,
    [DateLeave] [nvarchar](50) NULL,
    [ModateEghamat] [nvarchar](50) NULL,
    [NameUser] [nvarchar](50) NULL,
    [MonyComisiun] [int] NULL,
    [Typetor] [nvarchar](50) NULL,
    [Count] [nvarchar](50) NULL,
    [DateSabt] [nvarchar](50) NULL,
    [SumComisiun] [int] NULL,
    [CancelShgh] [bit] NULL,
    CONSTRAINT [PK_ComisiunTbl] 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]
    GO
    /****** Object: Table [dbo].[ChekTblPeyment] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[ChekTblPeyment](
    [ID] [int] NOT NULL,
    [Shgh] [nvarchar](50) NULL,
    [NameBankChek] [nvarchar](50) NULL,
    [ShHChek] [nvarchar](50) NULL,
    [ShChek] [nvarchar](50) NULL,
    [DateChek] [nvarchar](50) NULL,
    [Malirecieve] [int] NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[ChekTbl] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[ChekTbl](
    [ID] [int] NOT NULL,
    [Shgh] [nvarchar](50) NULL,
    [NameBankChek] [nvarchar](50) NULL,
    [ShHChek] [nvarchar](50) NULL,
    [ShChek] [nvarchar](50) NULL,
    [DateChek] [nvarchar](50) NULL,
    [Malirecieve] [int] NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[CardToCardPeyment] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[CardToCardPeyment](
    [ID] [int] NULL,
    [shgh] [nvarchar](50) NOT NULL,
    [NameBank] [nvarchar](50) NULL,
    [ShH] [nvarchar](50) NULL,
    [ShPeygiri] [nvarchar](50) NULL,
    [Malirecieve] [int] NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[CardToCard] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[CardToCard](
    [ID] [int] NULL,
    [shgh] [nvarchar](50) NULL,
    [NameBank] [nvarchar](50) NULL,
    [ShH] [nvarchar](50) NULL,
    [ShPeygiri] [nvarchar](50) NULL,
    [Malirecieve] [int] NULL,
    [Type] [nvarchar](50) NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[BlakList] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[BlakList](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NULL,
    [Family] [nvarchar](50) NULL,
    [Mobile] [nvarchar](50) NULL,
    [Comm] [nvarchar](250) NULL,
    CONSTRAINT [PK_BlakList] 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]
    GO
    /****** Object: Table [dbo].[Bank] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Bank](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DateSabt] [nvarchar](50) NULL,
    [NameBank] [nvarchar](50) NULL,
    [NameShobe] [nvarchar](50) NULL,
    [ShHesab] [nvarchar](50) NULL,
    [TypHesab] [nvarchar](50) NULL,
    [SahebHesab] [nvarchar](50) NULL,
    [Account] [int] NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[Amlak] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[Amlak](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Typehome] [nvarchar](50) NULL,
    [TypeMelk] [nvarchar](50) NULL,
    [malek] [nvarchar](50) NULL,
    [Tel] [char](10) NULL,
    [Date] [nvarchar](50) NULL,
    [Addres] [nvarchar](200) NULL,
    [samt] [nvarchar](50) NULL,
    [counttabaghe] [int] NULL,
    [countvahed] [int] NULL,
    [moneykol] [nvarchar](50) NULL,
    [tabaghe] [nchar](10) NULL,
    [zirbana] [nvarchar](50) NULL,
    [khab] [int] NULL,
    [metrajbalkon] [nvarchar](50) NULL,
    [phone] [bit] NULL,
    [serviceticken] [varchar](50) NULL,
    [servicewc] [varchar](50) NULL,
    [kafposh] [varchar](50) NULL,
    [parking] [bit] NULL,
    [anbari] [bit] NULL,
    [shomine] [bit] NULL,
    [masahat] [varchar](50) NULL,
    [tolebar] [varchar](50) NULL,
    [darremot] [bit] NULL,
    [hayat] [bit] NULL,
    [shofaj] [bit] NULL,
    [pakeyj] [bit] NULL,
    [koler] [bit] NULL,
    [gaz] [bit] NULL,
    [ifone] [bit] NULL,
    [asansor] [bit] NULL,
    [agebana] [varchar](50) NULL,
    [nama] [nvarchar](50) NULL,
    [manbadata] [varchar](50) NULL,
    [sokonatmalek] [varchar](50) NULL,
    [comm] [varchar](200) NULL,
    [takhleye] [bit] NULL
    ) ON [PRIMARY]
    GO
    SET ANSI_PADDING OFF
    GO
    /****** Object: Table [dbo].[AlarmUsers] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[AlarmUsers](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DateSabt] [nvarchar](50) NULL,
    [NameUser] [nvarchar](50) NULL,
    [Comm] [nvarchar](250) NULL,
    [DateErsal] [nvarchar](50) NULL,
    [Time] [nvarchar](50) NULL,
    [comp] [nvarchar](250) NULL,
    [position] [nvarchar](50) NULL,
    CONSTRAINT [PK_AlarmUsers] 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]
    GO
    /****** Object: Table [dbo].[AirTbl] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[AirTbl](
    [Id] [int] NULL,
    [Shgh] [nvarchar](50) NULL,
    [Company] [nvarchar](50) NULL,
    [ShP] [nvarchar](50) NULL,
    [Mabda] [nvarchar](50) NULL,
    [Maghsad] [nvarchar](50) NULL,
    [NameTarafhesab] [nvarchar](50) NULL,
    [NameNamayande] [nvarchar](50) NULL,
    [MonyP] [int] NULL,
    [DateHarekat] [nvarchar](50) NULL,
    [TimeHarekat] [nvarchar](50) NULL,
    [Local] [nvarchar](50) NULL,
    [Comm] [nvarchar](500) NULL,
    [Managment] [bit] NULL,
    [modirefanni] [bit] NULL,
    [DateBargasht] [nvarchar](50) NULL,
    [Timebargasht] [nvarchar](50) NULL
    ) ON [PRIMARY]
    GO
    /****** Object: Table [dbo].[Account] Script Date: 11/28/2013 19:44:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Account](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [DateSabtenam] [nvarchar](50) NULL,
    [NameAcc] [nvarchar](100) NULL,
    [NameNamayande] [nvarchar](80) NULL,
    [Shmobile] [nvarchar](50) NULL,
    [Shsabet] [nvarchar](50) NULL,
    [Email] [nvarchar](50) NULL,
    [Address] [nvarchar](1000) NULL,
    [Comm] [nvarchar](500) NULL,
    [Daste] [nvarchar](50) NULL,
    CONSTRAINT [PK_Account_1] 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]
    GO

  16. #16
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    و این هم کد سی شارپم:

     SqlConnection connect = new SqlConnection();
    connect.ConnectionString = Ajans.Properties.Settings.Default.Connection.ToStr ing();
    string conditions = "1=1";
    if (checkBox1.Checked == true)
    {
    conditions += "and MP.namebank='" + NameBank.Text + "' ";
    }
    else
    {
    checkBox1.Checked = false;
    }
    if (checkBox4.Checked == true)
    {
    conditions += "and SP.dateharekat='" + DateHarekat.Value.FarsiSelectedDate + "' ";
    }
    else
    {
    checkBox4.Checked = false;
    }
    if (checkBox5.Checked == true)
    {
    conditions += "and MR.Nametor='" + nametor.Text + "' ";
    }
    else
    {
    checkBox5.Checked = false;
    }
    if (checkBox2.Checked == true)
    {
    conditions += "and MR.DateRecieve between '" + From.Value.FarsiSelectedDate + "' and '" + To.Value.FarsiSelectedDate + "' ";
    }
    else
    {
    checkBox2.Checked = false;
    }
    //-------------------پرداختی ها
    string conditions1 = "1=1";
    if (checkBox1.Checked == true)
    {
    conditions1 += "and CardToCardPeyment.NameBank='" + NameBank.Text + "' ";
    }
    else
    {
    checkBox1.Checked = false;
    }
    if (checkBox4.Checked == true)
    {
    conditions1 += "and customer.dateharekat='" + DateHarekat.Value.FarsiSelectedDate + "' ";
    }
    else
    {
    checkBox4.Checked = false;
    }
    if (checkBox5.Checked == true)
    {
    conditions1 += "and MaliPeyment.Nametor='" + nametor.Text + "'";
    }
    else
    {
    checkBox5.Checked = false;
    }
    if (checkBox2.Checked == true)
    {
    conditions1 += "and MaliPeyment.DateRecieve between'" + From.Value.FarsiSelectedDate + "' and '" + To.Value.FarsiSelectedDate + "'";
    }
    else
    {
    checkBox2.Checked = false;
    }
    if (Type.SelectedIndex == 0)
    {
    DG.Visible = true;
    pardakht.Visible = false;
    try
    {
    connect.Open();
    // SqlDataAdapter saeed = new SqlDataAdapter(@"select MaliRecieve.shgh as [ش قرارداد],MaliRecieve.FamilyM as [نام مسافر],MaliRecieve.Nametor as [نام تور],customer.dateharekat as [تاریخ حرکت],customer.Count as تعداد,CardtoCard.Malirecieve as مبلغ ,MaliRecieve.TypeRecieve as [نوع دریافت], CardtoCard.ShPeygiri as [ش پیگیری],MaliRecieve.tarafhesab as [طرف حساب] From MaliRecieve inner join customer on malirecieve.shgh=customer.shgh inner join cardtocard on cardtocard.shgh=malirecieve.shgh where Customer.typePassenger='true' And " + conditions, connect);
    SqlDataAdapter saeed = new SqlDataAdapter(@"select MR.ShGh AS شرح
    ,MR.FamilyM AS [نام مسافر]
    ,SP.dateharekat AS [تاریخ حرکت]
    ,MR.DateRecieve as [تاریخ دریافت]
    ,SP.count AS تعداد
    ,MP.Malirecieve AS مبلغ
    ,MR.TypeRecieve AS [نوع دریافتی]
    ,MP.ShPeygiri AS [ش پیگیری]
    ,MR.Nametor AS [نام تور]
    ,MR.tarafhesab AS [طرف حساب]
    From
    malirecieve MR Full Outer Join cardtocard MP
    ON
    MR.ShGh = MP.ShGh Full Outer Join customer SP ON MR.Shgh=SP.Shgh where SP.typePassenger='true' And " + conditions , connect);
    DataTable t = new DataTable(); saeed.Fill(t);
    DG.DataSource = t;
    DG.RetrieveStructure();
    DG.RootTable.Columns[5].FormatString = "#,#";
    }
    catch (Exception x)
    {
    MessageBox.Show(x.Message.ToString());
    }
    finally
    {
    connect.Close();
    }
    }
    else
    {
    if (Type.SelectedIndex == 1)
    {
    DG.Visible = false;
    pardakht.Visible = true;
    try
    {
    connect.Open();
    SqlDataAdapter insert = new SqlDataAdapter(@"select MaliPeyment.shgh as [ش قرارداد],MaliPeyment.FamilyM as [نام مسافر],MaliPeyment.Nametor as [نام تور],customer.dateharekat as [تاریخ حرکت],customer.Count as تعداد,CardToCardPeyment.Malirecieve as مبلغ ,MaliPeyment.TypeRecieve as [نوع پرداخت],CardToCardPeyment.ShPeygiri as [ش پیگیری] From MaliPeyment Full Outer Join CardToCardPeyment on MaliPeyment.shgh=CardToCardPeyment.shgh Full Outer Join customer on MaliPeyment.shgh=customer.shgh where Customer.typePassenger='true' And " + conditions1, connect);
    DataTable t = new DataTable(); insert.Fill(t);
    pardakht.DataSource = t;
    pardakht.RetrieveStructure();
    pardakht.RootTable.Columns[5].FormatString = "#,#";
    }
    catch (Exception x)
    {
    MessageBox.Show(x.Message.ToString());
    }
    finally
    {
    connect.Close();
    }
    }
    else
    {
    }
    }


  17. #17
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    دوستان وقتی در جدول malirecieve یک سطر با شماره قرارداد 1000 مثلا باشه و در جدول cardtocard هم یه رکورد با همون شماره مشکلی نیست و دستور سلکت من درست کار میکنه ولی وقتی همومن شماره 1000 میادتوسط کاربر ویرایش میشه و تعداد سطرای malirecieve میشه 2 تا وcardtocard هم میشه 2 دستور سلکت من میاد 4 سطرو نشون میده که دوتای اون تکراری هستش.

  18. #18

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    نباید از Full outer join استفاده کنی.

  19. #19
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    من inner,left,right هم استفاده کردم جواب نداد چیکار کنم؟

  20. #20

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    از inner join استفاده کن.
    ID در هر سه جدول باید کلید اصلی باشه. در اینصورت حاصل join متفاوت خواهد بود. اگر قراره سطرهای تکراری در جدول ها وجود داشته باشه باید به جای Insert ، سطری که از قبل موجود هست رو Update کنید.
    در هر صورت اگر سطرهای تکراری داری باید براساس همه ستونهایی که سلکت میکنی گروه بندی انجام بدی:

    select MR.ShGh AS شرح
    ,MR.FamilyM AS [نام مسافر]
    ,SP.dateharekat AS [تاریخ حرکت]
    ,MR.DateRecieve as [تاریخ دریافت]
    ,SP.count AS تعداد
    ,MP.Malirecieve AS مبلغ
    ,MR.TypeRecieve AS [نوع دریافتی]
    ,MP.ShPeygiri AS [ش پیگیری]
    ,MR.Nametor AS [نام تور]
    ,MR.tarafhesab AS [طرف حساب]
    From
    malirecieve MR INNER Join cardtocard MP
    ON
    MR.ShGh = MP.ShGh INNER Join customer SP ON MR.Shgh=SP.Shgh where SP.typePassenger='true' And ..........
    group by MR.ShGh
    ,MR.FamilyM
    ,SP.dateharekat
    ,MR.DateRecieve
    ,SP.count
    ,MP.Malirecieve
    ,MR.TypeRecieve
    ,MP.ShPeygiri
    ,MR.Nametor
    ,MR.tarafhesab

  21. #21
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    دوست عزیز میدونم این سوال شمارو هم مثل من کلافه کرده

    شرمنده ولی من سطر تکراری ندارم تو نوشته هام گفتم این سلکتی که من بستم نمیدونم چرا میاد سطرهای malirecieve*سطرهای cardtocard میکنه وبه جای نشون دادن مثلا 2 سطر 4 سطر نشون میده در صورتی که واقعا 4 سطر نیست و 2 سطر هستش

  22. #22
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    به تصویر نگاه کنین:
    joinerorr.png
    تنگستانی در جدول malirecieve دو سطره و در جدول cardtocard یک سطر اینجا تو گزارش 2 سطر نشون میده یعنی میاد او سلکت تعداد سطرهای malirecieve*cardtocard میکنه و در گزارش قرارمیده
    صالحی 2 سطر در malirecieve دو سطر هم در cardtocard داره که اینجا همون طور که میبینین 4 سطر داره نشون میده که دو سطر آن تکراری هستش

    برای جلوگیری از این اتفاق چیکار کنم

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

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    سلام
    تنگستانی در جدول malirecieve دو سطره و در جدول cardtocard یک سطر اینجا تو گزارش 2 سطر نشون میده یعنی میاد او سلکت تعداد سطرهای malirecieve*cardtocard میکنه و در گزارش قرارمیده
    صالحی 2 سطر در malirecieve دو سطر هم در cardtocard داره که اینجا همون طور که میبینین 4 سطر داره نشون میده که دو سطر آن تکراری هستش
    خب انتظارتون چیه ؟ ؟ میخواین هر کدوم از این افراد در یک سطر نشون داده بشه ؟ و یا ..... ؟
    اگر برای هر رکورو از جدول cardtocard یک سطر میخواهید سلکت زیر را تست کنید ...........

    SELECT MR.ShGh AS شرح, MR.FamilyM AS [نام مسافر], SP.dateharekat AS [تاریخ حرکت], MR.DateRecieve AS [تاریخ دریافت], SP. COUNT AS تعداد,
    MR.MonyRecieve AS مبلغ, MR.TypeRecieve AS [نوع دریافتی], MP.ShPeygiri AS [ش پیگیری], MR.Nametor AS [نام تور], MR.tarafhesab AS [طرف حساب]
    FROM cardtocard MP
    LEFT OUTER JOIN malirecieve MR ON MR.ShGh = MP.ShGh
    INNER JOIN customer SP ON MR.Shgh = SP.Shgh
    WHERE SP.typePassenger = 'true'
    آخرین ویرایش به وسیله aslan : جمعه 08 آذر 1392 در 12:37 عصر

  24. #24
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    سلام اصلان جان

    من فیلدهایی که تو سلکتم از جداولی که مشاهده میکنی رو میخوام در گزارشم نشون بدم

    هر سه این جداول فیلد مشترک shgh رو دارن ولی همون طور که گفتم میره واسه خودش تعداد سطرای malirecieve*ardtocard میکنه که ان باعث میشه اگه مثلاقرارداد 1000در malirecieve 2 سطر داره و در cardtocard هم دو سطر داره در گزارش 4 سطر نمایش داده شه

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    سلام دوست عزیز
    لطفا برای اینکه زودتر به نتیجه برسیم دقیقتر جواب بدین :
    در گرید پست شماره 22 این تاپیک انتظارتون اینه که مثلا اطلاعات آقای تنگستانی در یک سطر و اطلاعات آقای صالحی در دو سطر نشان داده شود . درسته ؟
    اگر درسته سلکت پست 23 تاپیک و اجرا کردین یا نه ؟ و اگر اجرا کردین نتیجه چی بود ؟

  26. #26
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    جدول malirecieve اطلاعات دریافتی مبالغ(مبلغ-تاریخ دریافت-تاریخ ثیت و نوع دریافت که کارت به کارت یا نقدی ویا ...) وجدول cardtocard اطلاعات (نام بانک-شماره پیگیری-شماره حساب)رو نگهداری میکنن.حالا واسه شماره قرارداد ممکنه مسافر با یه پرداخت قراردادشو تسویه کنه یا ممکنه چندین پرداخت داشته باشه تا قراردادش تسویه شه.من میخوام در جدول mlirecieve با شماره قرارداد خودش هر چندسطر هست که در cardtocard هم هست نمایش داده شه.(دقیقا هر چند تاسطر درmalirecieve با شماره قرارداد واحد در cardtocard هست نمایش داده بشه)مثلا همین صالحی رو دیدی تو تصویر دیگه 2 سطر در malirecieve داره با شماره قرارداد1003 و دو سطر هم در cardtocard داره با شماره قرارداد1003 حالا در گزارش باید 2 سطر نشون بده که اطلاعات دریافتی از مسافر هستش با اون فیلدایی که در گزارش دیدی ولی چهار سطر نشون میده

  27. #27
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    اصلان جان من میخوام در واقع تعداد سطرای malirecieve در گزارش نشون داده شه در صورتی که mairecieve*cardtocard در گزارش نشون داده میشه

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    خب
    یه پیشنهاد :
    فعلا Customer را از سلکت حذف کنید و سلکت زیر را اجرا کنید و ببینید باز رکورد تکراری دارین یا نه ؟

    select MR.ShGh AS شرح
    ,MR.FamilyM AS [نام مسافر]
    ,MR.DateRecieve as [تاریخ دریافت]
    ,MP.Malirecieve AS مبلغ
    ,MR.TypeRecieve AS [نوع دریافتی]
    ,MP.ShPeygiri AS [ش پیگیری]
    ,MR.Nametor AS [نام تور]
    ,MR.tarafhesab AS [طرف حساب]
    From
    malirecieve MR INNER Join cardtocard MP
    ON
    MR.ShGh = MP.ShGh

  29. #29
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    این کارو کردم باز تکراری میده

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    خب
    جون اشراف کامل به جداول و اطلاعاتتون ندارم مجبورم بازم سوال کنم :
    در جدول MR برای آقای صالحی دو رکورد دارین با شماره 1003
    در جدول MP نیز برای همین آقا دو رکورد دارین با همین شماره 1003
    درسته ؟
    اگر درسته پس فیلد ممیزه برای برابری رکورد اول جدول MR با جدول MP کدومه ؟ یعنی چه جوری تشخیص بدیم که در رکورد اول (1003) از جدول MR کدوم رکورد جدول MP باید قرار گیرد ؟

  31. #31
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    742

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    اصلان جان مرسی عزیزم درست شد من بعد از MR.shgh=MP.shgh MR.ID=Mp.ID اضافه کردم الان درست کار میکنه

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

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    خوبه
    در ضمن اگر برای هر ID از جدول MR بیش از یک رکورد در جدول دوم داشته باشین ( از همون ID ) لازمه که گروهبندی کنین
    وگرنه فکر کنم نیازی به MR.shgh=MP.shgh هم نباشه و همون MR.ID=MP.ID کافی باشه ............
    موفق باشید

  33. #33

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    شرط MR.ID=Mp.ID اشتباه است. چون ID این دو جدول هیچ ربطی به هم ندارند.

    شما گروهبندی(پست 20) که من گفتم رو تست کردی؟

    در ضمن بهتره عکس از داده های سه جدول بزاری به جای اینکه عکس از نتیجه قرار بدی.

  34. #34
    کاربر تازه وارد آواتار saeedchoopani
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تبریز
    پست
    30

    نقل قول: سوال در مورد join سه جدول و مشکلی که بوجود آمد

    از دستور distinct استفاده کرده؟شاید مشکلتو حل کنه.select distinct name from table1 اینم نحوه نگارشش

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

  1. سوال در مورد join کردن دو جدول و بدست آوردن گزارشی خاص
    نوشته شده توسط نیما حتمی در بخش تحلیل و طراحی بانک اطلاعات
    پاسخ: 8
    آخرین پست: سه شنبه 05 آذر 1392, 07:34 صبح
  2. سوال در مورد join کردن دو جدول و بدست آوردن گزارشی خاص
    نوشته شده توسط نیما حتمی در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 28 آبان 1392, 10:09 صبح
  3. پاسخ: 1
    آخرین پست: چهارشنبه 17 مهر 1392, 12:20 عصر
  4. یک سوال در مورد join دو تا جدول
    نوشته شده توسط dana_p در بخش T-SQL
    پاسخ: 14
    آخرین پست: چهارشنبه 18 اسفند 1389, 13:44 عصر
  5. سوال: سوال در مورد آپلود اطلاعات جدول
    نوشته شده توسط ahmad_1986 در بخش MySQL
    پاسخ: 2
    آخرین پست: پنج شنبه 30 خرداد 1387, 13:36 عصر

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

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