【问题标题】:Edit and update a joined queries编辑和更新连接的查询
【发布时间】:2019-08-20 03:06:49
【问题描述】:

我有四个表 FDQueries (Firebird 3.0) COUNTRIES、REGIONS、DEPARTMENTS 和 CITIES 和第五个临时 FDQuery,其中显示 CITIES 表以及来自其他表的相关数据,如下所示:

SELECT C.NAMEXXX AS NAMEXXX, D.NAMEXXX as NAMEXXX, R.NAMEXXX AS NAMEXXX, T.NAMEXXX AS NAMEXXX
FROM GEOCITI C
LEFT JOIN GEODEPT D ON D.PKINDEX = C.FKDEPAR
LEFT JOIN GEOREGI R ON R.PKINDEX=D.FKREGIO
LEFT JOIN GEOCOUN T ON T.PKINDEX=R.FKCOUNT

加入工作完美并显示我想要的:

现在完成了,我希望用户直接从显示连接表的网格中编辑 CITIES 表(临时)我的问题是如何以正确的方式使用仅发布的原始 CITIES 表进行更新

感谢和抱歉我提出的第一个问题

【问题讨论】:

  • 我知道你在上一篇文章中做了什么,但这里没有其他人知道。当您发布问题时,您需要提供“最小的、可重现的示例”。您还需要尝试自己并发布您尝试过的内容以及遇到的问题。 Stackoverflow 不是编码服务,不亲自尝试是学不会的。
  • 这里有太多的可能性。这取决于您使用的是什么数据集后代以及什么数据库等等。您需要向我们展示您迄今为止所做的一些事情。
  • 我在使用任何类型的数据库组件来修改连接的 SQL 查询时有过非常糟糕的经历。最好采取更多控制措施,或者手动执行更新脚本,或者为每个表使用单独的查询组件,这样我就可以清楚地了解实际发生的情况。

标签: sql delphi join edit


【解决方案1】:

您可以使用以下查询来使用连接更新表 -

UPDATE CITIES
SET CITYPOPULATION = YOUR_UPDATED_VALUE
FROM CITIES C
JOIN DEPARTMENTS D ON C.departmentname = D.NAME
JOIN COUNTRIES CT ON D.countryname = CT.name;

您可以阅读this 文章以获取进一步更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2010-11-02
    相关资源
    最近更新 更多