mysql - SQL语句返回格式错误

标签 mysql sql

我正在编写一个查询来返回一个对象中的帖子 ID 和时间戳。我有帖子 ID 和时间戳返回,但时间戳键是 post_id,它应该是时间戳。另外,它将它存储为数组中的单个项目,我希望它与 post_id 组合在一起。这是我的sql语句:

$meta_key = '_birs_client_id';
    $meta_value = $client_id[0]->post_id; 
    $adjusted_time = strtotime("+1 day");
    $timestamp_meta_key = '_birs_appointment_timestamp';

    $sql = "SELECT post_id FROM wp_habitera_postmeta WHERE meta_key = %s AND meta_value = %d
    UNION 
    SELECT meta_value FROM wp_habitera_postmeta WHERE meta_key = %s";
    $appointments = $wpdb->get_results($wpdb->prepare($sql, $meta_key, $meta_value, $timestamp_meta_key));    

这是我从 sql 语句返回的示例子集:

[19] => stdClass Object
    (
        [post_id] => 996
    )

[20] => stdClass Object
    (
        [post_id] => 999
    )

[21] => stdClass Object
    (
        [post_id] => 1002
    )

[22] => stdClass Object
    (
        [post_id] => 1398370500
    )

[23] => stdClass Object
    (
        [post_id] => 1398284100
    )

[24] => stdClass Object
    (
        [post_id] => 1398196800
    )

这是我想要获取的格式:

[18] => stdClass Object
    (
        [post_id] => 993
        [timestamp] => 1398370500
    )

有人可以告诉我如何获得这种格式吗?

编辑

这是我正在使用的数据库的图片,应该有助于澄清:

http://i59.tinypic.com/10sgml3.png

我感兴趣的两行是时间戳和约会 ID。时间戳列“1000”之前的列是与帖子 id 列“1000”之后的列再次匹配的帖子 ID。

最佳答案

编辑>我最后的答案是垃圾,经过编辑以尝试给出问题的答案。

UNION 不会帮助您解决问题:从 DDBB 检索到的所有值都会连接在一起,第一个查询将检索字段 post 的值,第二个查询将检索值的时间戳,但通过 UNION,您可以告诉 MySQL 将它们放在同一字段中。您需要做的是将表与其本身JOIN 以获得您想要的不同字段的值,但为此您需要建立行之间的关系。如果不知道表的结构及其所包含的数据,我无法说出该关系是什么,但是如果您在下面的查询中编写该关系规则,您将获得您想要的查询:

SELECT post_id, meta_value as timestamp 
FROM wp_habitera_postmeta wphp1
INNER JOIN wp_habitera_postmeta wphp2
ON ( RELATION_RULE_BETWEEN_ROWS_ON_YOUR_TABLE )
WHERE meta_value = %d

关于mysql - SQL语句返回格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505114/

相关文章:

mysql - 有什么方法可以在 SQL Select 语句中使用 JSON 对象的值吗?

MySQL存储过程INSERT问题

php - 如何检查数组的多个值?

java - 如何在 Digital Ocean Nginx VPS 上运行 Java 代码?

mysql - 如何创建临时表以从数组中选择? (MySQL)

mysql - 时间戳列的更新时间

mysql 正确从多个表中拉取数据,不重复不正确的数据

MySQL 查询不会提取 Node.js 中的值

mysql - 防止 MySQL 中的数据透视表/链接表出现重复条目​​(使用 PHP/PDO)

mysql - MySQL 或 Postgres 中的数据透视表