sqlite LEFT OUTER JOIN 多个表 [英] sqlite LEFT OUTER JOIN multiple tables

查看:117
本文介绍了sqlite LEFT OUTER JOIN 多个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在这个例子中,我们在 SQLite 数据库中有 3 个相关的表:

In this example we have 3 related tables on a SQLite database:

CREATE TABLE test1 (
    c1 integer,
    primary key (c1)
);
CREATE TABLE test2 (
    c1 integer,
    c2 integer,
    primary key (c1, c2)
);    
CREATE TABLE test3 (
    c2 integer,
    c3 integer,
    primary key (c2)
);

现在我需要加入所有表:

Now I need to join all tables:

 test1 -> test2 (with c1 column)
          test2 -> test3 (with c2 column).

我已经尝试过这个解决方案,但它没有运行:

I have tried this solution but it doesn't run:

SELECT 
   * 
   FROM test1 a 
        LEFT OUTER JOIN test2 b
                        LEFT OUTER JOIN test3 c
                          ON c.c2 = b.c2 
          ON b.c1=a.c1 

它给了我一个错误:ON"附近:语法错误.

有什么帮助吗?

推荐答案

这是 ON 语句的一个简单错误.这符合 SQL 标准:

This is a simple misplacement of your ON statement. This conforms to SQL standard:

SELECT * 
FROM test1 a 
LEFT OUTER JOIN test2 b ON b.c1=a.c1 
LEFT OUTER JOIN test3 c ON c.c2=b.c2 

这在 进一步深入.

这篇关于sqlite LEFT OUTER JOIN 多个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆