【问题标题】:SQL SELECT rows from one table using an array taken from another tableSQL SELECT 使用从另一个表中获取的数组从一个表中选择行
【发布时间】:2013-12-06 01:08:33
【问题描述】:

我需要这样做:

$user_id = (int) get_logged_in_userud();

**$thread_ids** = $wpdb->query( "SELECT thread_id FROM $tableName1 WHERE user_id = %s), $user_id);

$iterateRows = $wpdb->query( "SELECT thread_id FROM $tableName2 WHERE thread_id IN $s), **$thread_ids**);

我试图以这种方式抓取它,但它返回一个数组中的一个数组,并且每一行都是一个关联数组。一旦我有了这些数据,我需要使用类似 while 循环的方式遍历所有选定的行。

我确实尝试过自己做这个,并想出了下面的代码。但它不是可用的格式。我需要回显每个项目,例如 $row['col_name'];对于每一列。目标是列出与 thread_id 和 user_id 匹配的所有消息。

$grabThreadList = $wpdb->query( $wpdb->prepare("SELECT A.* FROM $recipientTableName WHERE A.thread_id IN (SELECT B.thread_id FROM $senderTableName WHERE B.thread_is = A.thread_id "));

    foreach ($grabThreadList as $key => $value){

    $implodeMe = implode(',,,few ', $value);

}

【问题讨论】:

    标签: php mysql sql arrays


    【解决方案1】:

    如果您正在尝试这样做,您可能只使用 SQL 就可以做到这一点:

    SELECT thread_id FROM $tableName2 WHERE thread_id IN (SELECT thread_id FROM $tableName1 WHERE user_id = %s)
    

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 2013-01-06
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      相关资源
      最近更新 更多