【问题标题】:How to Query one table based on the values of another table? [duplicate]如何根据另一张表的值查询一张表? [复制]
【发布时间】:2019-06-12 00:25:10
【问题描述】:

我有 3 个表,“用户”、“消息”、“队列”。

user 表由用户 ID(“id”)和状态(“status”)组成。

message 表由用户 ID(“id”)和消息(“msg”)组成。

queue 表是 message 表的副本。

我的代码所做的只是复制 message 表并将其粘贴到 queue 表中。

$query = "INSERT IGNORE INTO queue(id,msg) SELECT id,msg FROM message";
if ($DBcon->query($query)) {
    echo "Done";
} else {
    echo "Failed";
}

但只有当用户的 status 设置为 "y" 时,我才想将行从消息表复制到队列表。

请帮我解决这个问题。谢谢!

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    使用连接和位置

    INSERT IGNORE INTO queue(id,msg) 
    SELECT id,msg 
    FROM message
    INNER JOIN user on user.id = message.id
    WHERE user.status  = 'Y';
    

    【讨论】:

      【解决方案2】:

      试试这个查询

      INSERT INTO queue (id, msg)
      SELECT A.id, A.msg
      FROM message A
      JOIN users B
      ON A.id=B.id
      WHERE B.status= 'y';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-24
        • 1970-01-01
        相关资源
        最近更新 更多