php - 在数据库中搜索内容 (2) - SELECT - 需要在 2 个表中搜索

标签 php mysql sql database

enter image description here 正如您在上面的打印屏幕中看到的那样,我想知道是否有可能同时检查两个表中是否有一个东西,如果找到则获得整行(逻辑 1)。没有进行 2 次查询。我需要查看“fajne-to-jest”是否在 table1 或 table2 中,然后获取数据行。我在 2 个查询中这样做......但问题是,是否可以使用一个查询来检查此信息?玛拜别的东西?最有效的方法?最好的方法是什么?

@Gordon Linoff 给了我这个:

select (exists (select 1 from table1 where url = 'fajne-to-jest')) as in_table1,
       (exists (select 1 from table2 where url = 'fajne-to-jest')) as in_table2;

但这会产生:enter image description here

而且我希望查询从这一行生成这个 + 数据,如下所示: enter image description here

最佳答案

这是一个快速的尝试,根本没有测试过:

select 
    IF(table1.id IS NULL, 0, 1) as table1,
    IF(table2.id IS NULL, 0, 1) as table2,
    COALESCE(table1.id, table2.id, "NONE") as id,
    `master`.url
from
(select 'fajne-to-jest' as url)  `master`
left join table1 on table1.url = `master`.url
left join table2 on table2.url = `master`.url
;

应该 始终给出单个行,无论它是在 0、1 还是两个表中找到的。你说 url 是唯一的,所以不需要担心重复,但如果 ID 不匹配,那么这有利于 table1(如果不在任何一个表中,则打印“NONE”)。

关于php - 在数据库中搜索内容 (2) - SELECT - 需要在 2 个表中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44395758/

相关文章:

MySQL INSERT IGNORE 不适用于我的 7dtd 服务器脚本

mysql - 如何选择具有相同 ID 共享一组值的行?

mysql - 向mysql和hadoop编写脚本之间的区别

php - PHP 的 usort 适用于哪些排序算法?

php - HTML5 多文件上传。更多的选择?

PHP MySQL SELECT 查询只返回资源

php - 解析 XML 太慢?

mysql - 在 MySQL 中使用字符串的数字组件对字符串进行数字排序的首选方法是什么?

c# - 在模型和 AspNetUsers 之间加入(包含)

mysql - 类似于 MSSQL 的 MySQL Profiler 程序