使用同一表中的其他记录遵循这一 SQL 更新信息中的信息和帮助
我注意到它没有正确地完成工作。
问题是:
它将表 NOEUD 与从内部连接内的子查询创建的表连接起来。它只更新子查询表中的 noeud,而不是 noeud 表中的所有节点。
由于 n_amont 是前一个 noeud,因此在子查询中正确进行了选择(列出所有具有 noeud.n_amont = noeud.noeud 且电缆距离为 1m 的字段)。我想从与整个表 noeud 中的对应 noeud 匹配的选择中更新所有 n_amont。
提前致谢。
UPDATE [SELECT noeuds.* FROM noeuds WHERE (((noeuds.LONG_CABLE)=" 1") AND (noeuds.DELETED=" "))]. AS a INNER JOIN noeuds AS n ON a.n_amont=n.noeud SET n.INSEE_COM = a.INSEE_COM, n.RIVOLI = a.RIVOLI, n.NUM_VOIE = a.NUM_VOIE
WHERE ((n.INSEE_COM)=" ");
任何人都可以帮忙吗?
编辑:
我有这张桌子(noues):
NOEUD TYPE_MAT N_AMONT LONG_CABLE RIVOLI (+3 fields for update)
123 REP 100 12 abc
130 AMP 229 12
173 PPP 130 1 AAA
我想编写一个 UPDATE 查询来填充节点之后的所有数据地址,即 NODES.LONG_CABLE = 1。
例如:
我搜索了所有具有 LONG_CABLE = 1 的节点,给了我 noeud 173;那么 130 之前的节点应该具有相同的 rivoli 173。
这条电缆给了我安装在某些街道上的设备的地址。当我填写 PPP(类型)时,它不会将地址转换为同一杆或沙井(1 m 距离 = 连接器)的地址。
通过我发布的这个查询,我可以选择具有前一个(173)的节点,但是当加入它时,如果它与其他设备相距 1m,则仅加入 n_amont 130(与节点相关的 130)。在这种情况下,它会被忽略并且地址不会更新。该查询将在 NOEUDS 表上运行,然后找到需要更新的设备。
还有更多关于解决此问题的建议吗?