Sql 如何将两个或多个内部联接拆分为多个select语句
在撰写本文时,我使用的SQL方言(Lianja/VFP)不支持多个内部连接语句。如何将上述SQL语句拆分为多个select语句作为解决方法?您不需要 您可以在本地引入所有相关的表,然后自己处理联接,但这首先是垃圾、低效的,而且是您绝对不应该做的事情Sql 如何将两个或多个内部联接拆分为多个select语句,sql,Sql,在撰写本文时,我使用的SQL方言(Lianja/VFP)不支持多个内部连接语句。如何将上述SQL语句拆分为多个select语句作为解决方法?您不需要 您可以在本地引入所有相关的表,然后自己处理联接,但这首先是垃圾、低效的,而且是您绝对不应该做的事情 如果您的SQL数据库不支持多个联接(我会发现这很了不起),那么您需要找到另一个数据库——认真地说。现在不要为了一个糟糕的决定而让自己痛苦多年……实际上Lianja支持多个连接,只是语法有点奇怪 试试这样的东西,它应该会起作用 SELECT e.cem
如果您的SQL数据库不支持多个联接(我会发现这很了不起),那么您需要找到另一个数据库——认真地说。现在不要为了一个糟糕的决定而让自己痛苦多年……实际上Lianja支持多个连接,只是语法有点奇怪 试试这样的东西,它应该会起作用
SELECT e.cempnoee, e.cempname, e.cempemail, s.csrvposition, s.csrvbranch, s.csrvcostcentr, b.cbrndesc, p.caddnophoneh FROM emas e
inner join esrvc s on e.cempnoee = s.csrvnoee
inner join cbranch b on s.csrvbranch = b.cbrncode
inner join eaddrs p on e.cempnoee = p.caddnoee
与Lianja的作者通信后,拆分SQL语句工作:
SELECT emas.cempnoee, emas.cempname,;
emas.cempemail, esrvc.csrvposition,;
esrvc.csrvbranch, esrvc.csrvcostcentr,;
cbranch.cbrndesc, eaddrs.caddnophoneh;
FROM emas INNER JOIN esrvc ON emas.cempnoee = esrvc.csrvnoee,;
esrvc INNER JOIN cbranch ON esrvc.csrvbranch = cbranch.cbrncode,;
emas INNER JOIN eaddrs ON emas.cempnoee = eaddrs.caddnoee
Lianja now(至少从2017年2月起,版本3.2)以VFP、SQL Server等处理的方式处理连接。我尝试了这种语法,但没有给出正确的结果。我猜这是Lianja需要解决的问题。@dandyling这很奇怪,因为在文档中他们展示了一个多连接的示例。是的,也许他们必须努力:p
SELECT emas.cempnoee, emas.cempname, emas.cempemail, esrvc.csrvposition, esrvc.csrvbranch, esrvc.csrvcostcentr FROM emas inner join esrvc on emas.cempnoee = esrvc.csrvnoee into cursor esc
SELECT *, cbranch.cbrndesc FROM esc inner join cbranch on esc.csrvbranch = cbranch.cbrncode into cursor esbc
SELECT *, eaddrs.caddnophoneh FROM esbc inner join eaddrs on esbc.cempnoee = eaddrs.caddnoee