基本上,我正在尝试做一个简单的连接。我是一个初学者,即使我一直在读同样的东西……我的问题仍然没有解决!:'(我正在使用unixodbc与我的基础通信,当我使用简单的命令时,这就像是一个护身符: SELECT * from PUB."Art“
我知道我必须做一些看起来像这样的事情才能加入两个表:
FOR EACH PUB."Art" WHERE (PUB."Art".IdArt = 16969) ,
EACH PUB."ArtDet" WHERE (PUB."ArtDet".IdArt = PUB."Art".IdArt)
END但这只返回给我ISQLERROR: But SQLPrepare
然后,我试着用以下方法来简化:
for each PUB."Art": display PUB."Art".IdArt end.我尝试在for each循环后面加冒号(或不加),使用点/逗号等...但是我显然从来没有使用过正确的语法...或者我错过了执行这个命令所需的东西!
有没有人能给我一些建议?非常感谢!
发布于 2017-02-20 22:40:29
您似乎混合了SQL和4GL语法。
"FOR EACH“是4GL。SQL的等价物是"SELECT“。
(如果您使用的是4GL,则"PUB“前缀和引用表和字段名称将不起作用。)
要使用SQL (或4GL)进行连接,请在表名之间使用",“。对于SQL,您的语法将类似于:
SELECT * from PUB."Art", PUB."ArtDet"关于WHERE子句、SQL内部和外部连接等的详细信息可以在联机文档中找到:
您需要导航到您的特定版本,然后找到"SQL“指南。
https://stackoverflow.com/questions/41740197
复制相似问题