【问题标题】:How to Convert the SQL Server Query to Equivelent SQLite Query?如何将 SQL Server 查询转换为等效的 SQLite 查询?
【发布时间】:2014-09-10 04:27:02
【问题描述】:

我有这个在 SQL 服务器中工作的查询:

SELECT 
  T_Cbt.cbtName,
  T_HDD.hddName,
  T_HDD.ip,
  T_HDD.compName,
  T_Cbt.mobRack,
  T_HDD.size, 
  T_OS.osName + ' ' + T_OS.osVersion + ' - ' + T_OS.osLanguage AS Expr1,
  T_OS.osBit, 
  T_SWList.swName + ' ' + T_SWDetails.swVersion + ' - ' + T_SWDetails.swLang + ' ' + T_SWDetails.swArch AS Expr2
FROM T_OS INNER JOIN
  T_Cbt INNER JOIN
  T_HDD ON T_Cbt.cbtId = T_HDD.cbtId ON T_OS.id = T_HDD.osId INNER JOIN
  T_Division ON T_HDD.division = T_Division.divId LEFT OUTER JOIN
  T_SWDetails INNER JOIN
  T_SW ON T_SWDetails.sdPk = T_SW.swdid INNER JOIN
  T_SWList ON T_SWDetails.swdId = T_SWList.swId ON T_HDD.hddid = T_SW.hddid
WHERE T_Cbt.cbtName <> 'FREE'
ORDER BY T_Cbt.purpose

当我在 Sqlite 中执行此查询时,我收到类似 Error while executing query: near "ON": syntax error 的错误,如何解决?

【问题讨论】:

  • 您的联接有问题。你必须在inner join tablename之后取On。
  • @DH__ 但它适用于 SQL Server。如何将其转换为 sqlite。我不知道。因为我是 sqlite 的新手
  • 我不知道它是如何在sql server上运行的。两种编程 lng 都是完全错误的。

标签: sql sql-server sqlite


【解决方案1】:

SQLite 不允许任意嵌套JOINON。将您的 JOINs 重新排序以不使用嵌套应该可以让查询毫无问题地执行;

SELECT 
  T_Cbt.cbtName, T_HDD.hddName, T_HDD.ip, T_HDD.compName, 
  T_Cbt.mobRack, T_HDD.size, 
  T_OS.osName || ' ' || T_OS.osVersion || ' - ' || T_OS.osLanguage AS Expr1,
  T_OS.osBit, T_SWList.swName || ' ' || T_SWDetails.swVersion || ' - ' ||
  T_SWDetails.swLang || ' ' || T_SWDetails.swArch AS Expr2
FROM T_OS 
INNER JOIN T_HDD ON T_OS.id = T_HDD.osId 
INNER JOIN T_Cbt ON T_Cbt.cbtId = T_HDD.cbtId   
INNER JOIN T_Division ON T_HDD.division = T_Division.divId 
INNER JOIN T_SW ON T_HDD.hddid = T_SW.hddid
LEFT OUTER JOIN T_SWDetails ON T_SWDetails.sdPk = T_SW.swdid 
INNER JOIN T_SWList ON T_SWDetails.swdId = T_SWList.swId 
WHERE (T_Cbt.cbtName <> 'FREE')
ORDER BY T_Cbt.purpose

【讨论】:

  • 对不起,我得到了答案 ||用于在 SQLITE 中附加字符串而不是 +
  • @Sam1604 啊,是的,抱歉,没有要测试的数据,所以错过了。
  • stackoverflow.com/questions/25757945/… 你能帮我解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-09
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
相关资源
最近更新 更多