SQL Server:连接三个表

时间:2015-12-01 05:31:18

标签: sql sql-server join

我能够使用以下查询加入2个SQL表:

SELECT * 
FROM Table1, Table2 with (nolock)
WHERE Table1.field1 = Table2.field2

然后我尝试加入3个SQL表,如下所示:

SELECT * 
FROM Table1, Table2, Table3 with (nolock)
WHERE Table1.field1 = Table2.field2, Table1.field2 = Table3.field3

但它没有用。我在这里错过了吗?或者我如何正确加入3个表?

谢谢!

5 个答案:

答案 0 :(得分:2)

如果您使用正确的 ANSI JOIN语法,则不会出现任何问题:

SELECT * 
FROM 
    Table1
INNER JOIN 
    Table2 ON Table1.field1 = Table2.field2
INNER JOIN
    Table3 ON Table1.field2 = Table3.field3

答案 1 :(得分:1)

您正在以旧式加入桌子,并且对于多种情况,您必须使用and而不是,

尝试使用内部联接

喜欢这个

SELECT * 
FROM Table1
inner join Table2 on  Table1.field1 = Table2.field2
inner join Table3 on Table1.field2 = Table3.field3

答案 2 :(得分:0)

试试这个:

 var nameImg:String = "";
                    if(action==1){
                        nameImg  = "navTab";
                    }
                    else{
                        nameImg  = "back";
                    }


                    //back & menu btn
                    let btnBack = UIButton(type: UIButtonType.Custom);
                    btnBack.setImage(UIImage(named:nameImg), forState: UIControlState.Normal);
                    btnBack.sizeToFit();

答案 3 :(得分:0)

在where条件中使用AND而不是','。 像这样:

SELECT * 
FROM Table1, Table2, Table3 with (nolock)
WHERE Table1.field1 = Table2.field2 AND 
      Table1.field2 = Table3.field3

答案 4 :(得分:0)

尝试使用这个。

   Select * from table1
            left join table2 on (table1.tablefield1 = table2.tablefield2)
            left join table3 on (table2.tablefield2 = table3.tablefield3)