【问题标题】:SQL join two select syntax errorSQL join 两个选择语法错误
【发布时间】:2013-11-25 21:49:12
【问题描述】:

我正在使用 SQLite,我需要执行两个 select 语句并按列连接它们。这是我实际尝试开始工作的代码:

表格是这样的:

msgstore.db
留言:| _id | key_remote_jid |

wa.db
wa_contacts: | _id |吉德 |很多列

ATTACH DATABASE 'path\msgstore.db' As db1;
ATTACH DATABASE 'path\wa.db' As db2;
SELECT T1.*, T2.*
FROM (SELECT DISTINCT db1.messages.remote_resource FROM db1.messages WHERE key_remote_jid = "somevalue" AND remote_resource IS NOT Null) AS T1
JOIN (SELECT db2.wa_contacts.* FROM db2.wa_contacts) AS T2
ON T1.remote_resource = T2.jid

这段代码说“*”附近有语法错误,但我不知道是什么。
需要一些关于如何解决此问题的建议。

【问题讨论】:

  • 尝试将SELECT T1.*, T2.* 更改为SELECT * 并检查。
  • 也尝试将 db2.wa_contacts.* 更改为 * :)
  • 我尝试了这两种解决方案,并且成功了。似乎Himanshu指出的语句是引发语法错误的语句。谢谢你们俩!!! :)

标签: sql sqlite


【解决方案1】:

只是为了记录@Himanshu的回答:

正如您在documentation 中所见,result column 可以使用table.**,但不能使用database.table.*

所以SELECT db2.wa_contacts.* 必须恢复为SELECT db2.wa_contacts.*

顺便说一句,整个(SELECT db2.wa_contacts.* FROM db2.wa_contacts) 可以简称为db2.wa_contacts

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2015-01-30
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多