mysql - SQL 查询不返回值
问题描述
我在我的 php 应用程序上运行了一些 SQL,它的意思是返回一个与返回的值进行比较的值。
该查询返回我需要的 4 个值中的两个。
我试图调整查询,以便它只返回根本不显示的另外两个
这是查询
SELECT projects.ProjectProperty1, projects.ProjectProperty2, users.UserProperty1, users.UserProperty2
FROM projects,
users
WHERE projects.ProjectProperty1 LIKE CONCAT('%', users.UserProperty1, '%')
OR projects.ProjectProperty2 LIKE CONCAT('%', users.UserProperty2, '%')
返回:https ://gyazo.com/a8a2961166de9c22d9bbf858b3d765b8
项目数据库:https ://gyazo.com/8088ea417f0d4804489621948b989068
用户数据库:https ://gyazo.com/e43e58857a21239e827a59d4864d099a
在网站上:https ://gyazo.com/2dc7da5855506f512e3737809cd48cee
我需要获取用户数据库中缺少的两个值。
提前致谢!
解决方案
试试这个来获取项目和用户表中的匹配值:
SELECT p.ProjectProperty1, p.ProjectProperty2, u.UserProperty1, u.UserProperty2
FROM projects
Inner Join users u on p.Id= u.Id
WHERE p.ProjectProperty1 LIKE CONCAT('%', u.UserProperty1, '%')
OR p.ProjectProperty2 LIKE CONCAT('%', u.UserProperty2, '%')
试试这个来获取用户表中的所有值,并且只从项目表中获取匹配的值:
SELECT p.ProjectProperty1, p.ProjectProperty2, u.UserProperty1, u.UserProperty2
FROM projects
Right Join users u on p.Id= u.Id
WHERE p.ProjectProperty1 LIKE CONCAT('%', u.UserProperty1, '%')
OR p.ProjectProperty2 LIKE CONCAT('%', u.UserProperty2, '%')
推荐阅读
- python - 合并具有一致标签名称的数据框
- unit-testing - gmock-generated-actions.h 中的 Gmock 编译错误
- c - CMAKE生成依赖于共享库的静态库
- c# - Header 中自定义字段的不记名令牌
- kubernetes - 我的 pod 状态显示 OOM-killed,但没有重新启动容器。为什么?
- openapi - 如何在 OpenAPI 中为 HAL 格式的模式指定强制和可选链接?
- mongodb - 为什么我的 Mongoose Schema 唯一验证在第一次运行时不起作用?
- flutter - 视频缩略图 - 颤振
- http - Golang 程序发出 Get 请求后返回 HTTP 状态码 503 或挂起
- r - eval 中的错误(predvars,data,env):回归模型中的对象“oly.success”