[Test] public void Bug46453() { String table1DDL = "CREATE TABLE Companies (" + "PKID int NOT NULL AUTO_INCREMENT, " + "Alias varchar(50)," + "Name varchar(100)," + "Address varchar(200), " + "Phone varchar(30)," + "Fax varchar(30)," + "Email varchar(128)," + "Country3 char(3)," + "Username varchar(255)," + "LastSync datetime, " + "ContactPerson varchar(100), " + "PostCode varchar(20), " + "PRIMARY KEY (PKID)," + "UNIQUE KEY UQ_UserName(Username)" + ")"; String table2DDL = "CREATE TABLE StockPartsCompany ( " + "PKID int NOT NULL AUTO_INCREMENT, " + "CompanyId int NOT NULL DEFAULT '0' , " + "PartId int NOT NULL DEFAULT '0' ," + "Spareable bit(1) NOT NULL DEFAULT b'0' ," + "ExtraDetails varchar(3000) DEFAULT NULL ," + "LastUpdated datetime NOT NULL DEFAULT '0001-01-01 00:00:00', " + "Description varchar(250) NOT NULL DEFAULT 'N/A', " + "PRIMARY KEY (PKID), " + "UNIQUE KEY UQ_CompanyId_PartId (CompanyId,PartId) " + ")"; String table3DDL = "CREATE TABLE StockParts ( " + "PKID bigint(20) NOT NULL AUTO_INCREMENT , " + "PartNo varchar(80) DEFAULT NULL, " + "LastUpdated datetime NOT NULL DEFAULT '0001-01-01 00:00:00'," + "PartNoStripped varchar(80) NOT NULL, " + "PRIMARY KEY (PKID), " + "UNIQUE KEY UQ_PartNoStripped (PartNoStripped) )"; execSQL(table1DDL); execSQL(table2DDL); execSQL(table3DDL); String query1 = "SELECT SP.PartNo, SPC.Description, C.Name AS CompanyName, SP.PKID AS PartNoId, C.PKID " + "AS CompanyId FROM StockParts SP INNER JOIN " + "StockPartsCompany SPC ON SP.PKID=SPC.PartId INNER JOIN " + "Companies C ON SPC.CompanyId=C.PKID WHERE (SP.PartNo LIKE '%an3%' OR " + "SP.PartNoStripped LIKE '%an3%' OR SPC.Description LIKE '%an3%') AND (SPC.Spareable=1 " + "OR CompanyId IN (2)) ORDER BY SP.PartNo LIMIT 0,10"; String query2 = "SELECT SP.PartNo, SPC.Description, C.Name AS CompanyName, SP.PKID AS PartNoId, C.PKID " + "AS CompanyId FROM StockParts SP INNER JOIN " + "StockPartsCompany SPC ON SP.PKID=SPC.PartId INNER JOIN " + "Companies C ON SPC.CompanyId=C.PKID WHERE (SP.PartNo LIKE '%an3%' OR " + "SP.PartNoStripped LIKE '%an3%' OR SPC.Description LIKE '%an3%') AND CompanyId IN (2) " + "ORDER BY `PartNo` LIMIT 0,10" ; MySqlCommand cmd = new MySqlCommand(query1, conn); DataTable table; DataTable table2; using (MySqlDataReader r = cmd.ExecuteReader()) { table = r.GetSchemaTable(); } cmd.CommandText = query2; using (MySqlDataReader r = cmd.ExecuteReader()) { table2 = r.GetSchemaTable(); } for(int i = 0; i < table.Rows.Count; i++) { DataRow row = table.Rows[i]; DataRow row2 = table2.Rows[i]; foreach (System.Data.DataColumn col in table.Columns) { if (row[col.ColumnName].ToString() != row2[col.ColumnName].ToString()) { Console.WriteLine("col: {0} = {1} != {2}", col.ColumnName, row[col.ColumnName], row2[col.ColumnName]); } } } }