WordPress SQL JOIN Abfrage

Hallo ich versuche, 2 Querys in der gleichen Abfrage auszuführen.

// send the query global $wpdb; $commentQ = "SELECT * FROM $wpdb->comments " . $whereClause . $orderBy; $comments = $wpdb->get_results( $commentQ, ARRAY_A); 

Bis jetzt funktioniert es, aber wenn ich versuche, 2 Abfragen auszuführen, schlägt es fehl. Was ich machen möchte ist, dass ich laufen will:

 **SELECT * FROM `wp_88_commentmeta` ORDER BY `wp_88_commentmeta`.`meta_value` ASC LIMIT 0 , 30** 

Ich versuche, den Metawert nur von dieser Tabelle zu erhalten.

Also meine Frage ist, wie kann ich 2 Querys im selben Anruf anrufen, und wenn es isa besseren Weg ist, das zu tun?

BEARBEITEN:

Ich möchte $ wpdb-> Kommentare mit commentmeta verbinden. Ich versuche nur, das Feld “meta_value” zu bekommen.

  global $wpdb; $commentQ = "SELECT * FROM $wpdb->comments " . $whereClause . $orderBy; $comments = $wpdb->get_results( $commentQ, ARRAY_A); // build the string $commentString = ""; $count = 0; if( $comments ){ $first = true; foreach( $comments as $row ){ if( $first ){ // column labels foreach ( $row as $col => $value ){ //$commentString .= $col . chr( 9 ); 

Nachdem ich mich den Tabellen angeschlossen habe, möchte ich “meta_value” von wp_commentmeta_88 bekommen und es anstelle von “comment_author” einfügen

  // Column Author if($col == 'comment_author') { $commentString .= 'User Meta '; } // Column IP if($col == 'comment_author_IP') { $commentString .= ' IP '; } // Column date if($col == 'comment_date') { $commentString .= ' Datum '; } // Column comment if($col == 'comment_content') { $commentString .= ' Meddelande '; } } $commentString .= chr( 13 ); $first = false; } 

Solutions Collecting From Web of "WordPress SQL JOIN Abfrage"

Wenn Sie SQL verwenden, verwenden Sie eine Unterabfrage.

 SELECT *, (SELECT meta_value FROM wp_commentmeta WHERE meta_key = 'your-meta-key' AND wp_commentmeta.comment_id = wp_comments.comment_ID LIMIT 1) as comment_author FROM wp_comments 

comment_author Sie anstelle von * die gewünschten Felder ein, aber lassen Sie comment_author . Offensichtlich funktioniert $wpdb , um die Tabellennamen gerade zu halten.

Verwenden Sie das MySQL-Schlüsselwort NATURAL RIGHT JOIN

 SELECT * FROM table_name1 NATURAL RIGHT JOIN table_name2; 

Sie können auch WHERE und ORDER BY hinzufügen