C# SQL内部联接错误-SQL新增

C# SQL内部联接错误-SQL新增,c#,sql,database,inner-join,oledb,C#,Sql,Database,Inner Join,Oledb,我是SQL新手,尝试使用“内部联接”从两个不同的表中提取信息:“联接操作中的语法错误” 是我得到的错误,不确定为什么。谢谢鸡尾酒和配料必须是鸡尾酒和配料,就像您在FROM。。。在连接行中指定的表名错误 OleDbConnection connection = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = E:\Computing\WindowsFormsApplication1\WindowsFo

我是SQL新手,尝试使用“内部联接”从两个不同的表中提取信息:“联接操作中的语法错误”
是我得到的错误,不确定为什么。谢谢

鸡尾酒和配料必须是鸡尾酒和配料,就像您在FROM。。。在连接行中指定的表名错误

OleDbConnection connection = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = E:\Computing\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\Database31.accdb");
        connection.Open();
        OleDbCommand command = new OleDbCommand("SELECT Cocktails.CID, Ingredients.Ingredient1" +
            " FROM Cocktails INNER JOIN Ingredients" +
            " ON Cocktails.ID = Ingredients.ID" +
            " WHERE Cocktails.ID = 1",
        connection);

        OleDbDataReader reader = command.ExecuteReader();
        if (reader.Read())
        {
            string result = reader.GetValue(0).ToString();
            string result2 = reader.GetValue(1).ToString();
            MessageBox.Show(result + result2);
        }
        connection.Close();

什么是
配料.ID
鸡尾酒.ID
?不应该是
配料.ID
鸡尾酒.ID
?查询中有
鸡尾酒
鸡尾酒
。选择正确的一个。(即使你做对了,我也怀疑
JOIN
是否真的在
id
列上。)你的表是叫
Cocktails
配料
还是叫
鸡尾酒
配料
?查询似乎无法决定是哪一个。要澄清@GordonLinoff所说的:检查您是否也有一个
CocktailingElements
表。如果它存在,那么您需要在加入时将该表用作“中间人”。鸡尾酒似乎不太可能等于配料,但这正是您通过将它们直接链接到两个ID列上所暗示的。您好,是的,它们是错误的,但现在我得到了错误“一个或多个必需参数没有给出值”
ON Cocktails.ID = Ingredients.ID