Можно ли объединить эти 3 запроса MySQL? - PullRequest
1 голос
/ 23 марта 2010

Я знаю $ downloadfile - и я хочу $ user_id. Методом проб и ошибок я обнаружил, что это делает то, что я хочу. Но это 3 отдельных запроса и 3 цикла while. У меня есть ощущение, что есть лучший способ. И да, я очень мало знаю о том, что я делаю :)

$result = pod_query("SELECT ID FROM wp_posts WHERE guid LIKE '%/$downloadfile'");
while ($row = mysql_fetch_assoc($result)) { 
    $attachment = $row['ID']; }

$result = pod_query("SELECT pod_id FROM wp_pods_rel WHERE tbl_row_id = '$attachment'");
while ($row = mysql_fetch_assoc($result)) {
    $pod_id = $row['pod_id']; }

$result = pod_query("SELECT tbl_row_id FROM wp_pods_rel WHERE tbl_row_id = '$pod_id' AND field_id = '28'");
while ($row = mysql_fetch_assoc($result)) {
    $user_id = $row['tbl_row_id']; }

Ответы [ 2 ]

1 голос
/ 23 марта 2010

Если я правильно понимаю ваши запросы, это должно сработать:

SELECT wp.ID, wpr.pod_id, wpr.tbl_row_id
FROM wp_pods_rel AS wpr
JOIN wp_posts AS wp
  ON wp.ID = wpr.tbl_row_id
WHERE wpr.field_id = '28'
  AND wp.guid LIKE '%/$downloadfile'
0 голосов
/ 23 марта 2010
SELECT wp_posts.ID, wp_pods_rel.pod_id, wp_pods_rel.tbl_row_id
FROM wp_posts
JOIN wp_pods_rel ON wp_posts.ID = wp_pods_rel.tbl_row_id
WHERE wp_posts.guid LIKE '%/$downloadfile' AND wp_pods_rel.field_id = '28'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...