gpt4 book ai didi

MYSQL 查询具有设定条件的表,如果满足第二个条件,则从另一个表中获取行并继续

转载 作者:行者123 更新时间:2023-11-29 13:41:10 25 4
gpt4 key购买 nike

我希望这是可能的;在 SQL 查询中,切换到第二个表;如果满足某个条件,抓取相关行数据,然后继续完成前面的查询?

我有一个表cms_navbar,如果列visible == 1,它会被查询并拉回所有行。我想要添加的是查询跳转到另一张 table ; cms_navbar_preview,如果$_GET['id_hash']等于cms_navbar中的hash列,则抓取所有行来自 cms_navbar_preview where live_hash == $_GET['id_hash'] 并最终继续运行 cms_navbar 中的剩余行> 表。

SELECT *
FROM cms_navbar
WHERE visible=1
AND parent=1
ORDER BY position ASC

很抱歉,如果这很难表达我的观点。

CMS_NAVBAR 表:

id | title | link | visible | position | parent | child | relation | hash

CMS_NAVBAR_PREVIEW 表:

id | title | link | visible | position | parent | child | relation | live_hash | showcase_content

最佳答案

试试这个:

  SELECT 
IFNULL(nbp.id,nb.id) as ID,
IFNULL(nbp.title,nb.title) as TITLE,
etc....

FROM cms_navbar nb
LEFT JOIN cms_navbar_preview nbp ON nbp.live_hash= <parameter> AND nb.id=nbp.id
WHERE nb.visible=1
AND nb.parent=1
ORDER BY nb.position ASC

基本上,您根据自己的情况加入预览表。如果找到匹配项,请从预览表中提取字段。如果不是(即 NULL),则从导航栏表中提取该字段。

希望这就是您想要实现的目标...

关于MYSQL 查询具有设定条件的表,如果满足第二个条件,则从另一个表中获取行并继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18060606/

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