gpt4 book ai didi

mysql - 帮我解决这个查询以在表中插入条目

转载 作者:行者123 更新时间:2023-11-30 21:23:38 26 4
gpt4 key购买 nike

我正在向后查询。我有一个获取一些行的选择查询...但现在我正在向后工作,并希望在相关表中插入条目,以便选择查询带回我插入的内容。

选择查询:

SELECT DISTINCT a.catalogID, a.topicID, a.topicShortName
FROM catalog_lu_topics a
LEFT JOIN catalog b ON a.catalogID = b.catalogID
LEFT JOIN catalog_topics d ON ( a.topicID = d.topicID
AND d.topicID != 'top295' )
LEFT JOIN catalog_topics e ON ( (
d.catalogID = e.catalogID
)
AND (
e.topicID != d.topicID
) )
LEFT JOIN catalog_lu_topics f ON f.topicID = e.topicID
WHERE a.displayStatus != 'hide'
AND f.parentID = 'top305'

我在下表中插入了条目:

catalog
catalog_lu_topics (made sure that parentID = 'top305')
catalog_topics (made sure topicid is not top295)
catalog_topics (additional entry, with different topicID)

如果我再次运行上述查询,在插入语句之后,我看不到新条目。但是如果我从上面的选择查询中删除以下条目,那么我会看到新条目:

AND (
e.topicID != d.topicID
)

我无法解决这个问题,需要一些建议。

编辑:选择 a.* e.topicid、d.topicid 的结果(添加新条目后)。请注意,新条目不会显示在此结果集中

top335      114     Victorian Grace     top301      5   gvl107      Desc    display     2007-03-26 12:38:46     top318      top335
top329 34 Revived Georgian top301 2 gvl107 Desc display 2007-03-26 12:38:46 top318 top329
top338 117 DC Townhouse top301 4 gvl107 Desc display 2007-03-26 12:38:47 top318 top338
top329 34 Revived Georgian top301 2 gvl107 Desc display 2007-03-26 12:38:46 top316 top329
top336 115 Bespoke in Bethesda top301 6 gvl107 Desc display 2007-03-26 12:38:46 top316 top336

最佳答案

好的,这是正在发生的事情。

当你在那里有那个条件时,你在查询所有 e 时得到 null,随后用于拉回 f ,然后对其进行过滤。因此,您正在执行 inner join 但以迂回的方式进行。

更新:

因此,添加的条目包含:

a.catalogid = 297
a.topicid = top398

d.catalogid = 298
d.topicid = top398

e.catalogid = 299
e.topicid = top400

因此,当 a 连接到 d 时,它会通过 topicid,你瞧,发现了一些东西。然后 d 获取 catalogid (298),并将其匹配到 e。除了 e 没有找到任何东西,所以返回 null。然后 f 尝试加入 e.topicid。遗憾的是,e.topicidnull,但 where 子句中有一个 f.parentid 值。因此,该行被过滤掉。

关于mysql - 帮我解决这个查询以在表中插入条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com