php - SQL 连接具有不同内容的列

标签 php mysql sql

我的代码:

$newResult = $conn -> query("SELECT wp_nf3_fields.id, wp_nf3_fields.parent_id, wp_postmeta.meta_key
FROM wp_postmeta
LEFT JOIN wp_nf3_fields ON wp_postmeta.meta_key = wp_nf3_fields.id
");

我正在编写一个 PHP 文件,该文件试图根据列中的条目连接两个数据库表。问题是 wp_postmeta.meta_key 列中的条目是这样的

_field_1
_field_2

而列 wp_nf3_fields.id 条目是这样的

1
2

我怎样才能匹配这两个?有没有一种方法可以从第一列中删除 field 位,以便我可以比较它们?我对 PHP 还行,但对 SQL 不是很熟悉,所以不胜感激!

最佳答案

您可以使用字符串连接:

FROM wp_postmeta LEFT JOIN
     wp_nf3_fields
     ON wp_postmeta.meta_key = CONCAT('_field_', wp_nf3_fields.id);

关于php - SQL 连接具有不同内容的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49521238/

相关文章:

mysql - 购买了表 Y 中所有产品的表 X 中那些客户 ID 的列表?

php - Symfony 2 - 使用/gecko/{name}/show 代替/gecko/{id}/show

php - 为什么 PHP 中的日期时间到时间戳转换不起作用?

php - 如何在 Bluehost 上使用 phpMailer isSMTP?

mysql - 如何将 docker 容器与主机的 localhost mysql 数据库连接?

php - 迁移到新域时 Prestashop 将不起作用

php - 在 Laravel Eloquent 模型中使用特殊的 union 函数

php - Zend Framework 2 过滤/验证内容数组

sql - 查找任何列中具有空值的所有行

MySQL 两列求和结果错误