gpt4 book ai didi

php - 如何通过检查行是否存在来执行 Mysql Union?

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

好吧,这有点复杂,因为我的表没有被引用或组合或相互匹配,所以我不能使用 JOIN。我正在构建一个搜索表单,它可以简单地匹配多个表中的搜索关键字。

我遇到的问题是,我必须根据结果来自哪个表来生成新闻项链接,但我找不到一个钩子(Hook)。 MySql union 工作完美,除了我无法检查数据是来自表 a 还是表 b。

here is short version 
SELECT i.title,i.category FROM table_a WHERE REGEXP 'news'
UNION
SELECT i.title,i.category FROM table_b WHERE REGEXP 'news'

现在,我的表 A 有 36 行,表 B 有 34 行,另一个区别是表 A 有我想检查的行名称 extra_field,并基于该行切换我的链接。

查询后的 php 切换可能类似于

foreach($rows as $row) :
if($row->extra_field):
$link = 'index.php?".$row->category.$row->title".html'
else:
$link = 'index.php?".$row->title".html'
endif;
endforeach;

如果该行存在,有没有办法检查我的 UNION sql?我知道如何检查行是否存在,但如何在 UNION 中执行此操作?

请帮忙。谢谢!

最佳答案

以您的简短版本为例,您可以在查询中添加一个额外的列:

SELECT  i.title,i.category,'a' as source FROM table_a  WHERE REGEXP 'news'
UNION
SELECT i.title,i.category, 'b' as source FROM table_b WHERE REGEXP 'news'

然后在您的代码中,您可以检查“来源”列。

关于php - 如何通过检查行是否存在来执行 Mysql Union?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9299861/

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