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
我正在使用的SQL方言(Lianja / VFP)在编写时不支持多个内连接语句。如何将上述SQL语句拆分为多个select语句作为解决方法?
答案 0 :(得分:0)
你没有。
你可以在本地引入所有相关的表,然后自己处理联接,但这首先是垃圾,低效,以及你绝对不应该做的事情......
如果你的SQL数据库不支持多个连接(我会发现它是可记录的),你需要找到自己的另一个数据库 - 认真。为了现在做出错误的决定,不要让自己多年痛苦......
答案 1 :(得分:0)
实际上Lianja确实支持多个连接,这只是一个有点奇怪的语法
尝试这样的事情,它应该可行
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
答案 2 :(得分:0)
在与Lianja的作者对应后,拆分SQL语句有效:
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
答案 3 :(得分:0)
Lianja 现在(至少从 2017 年 2 月开始,版本 3.2)以 VFP、SQL Server 等处理的方式处理连接