如何使用like进行单个查询

时间:2013-05-27 06:16:52

标签: mysql sql

如何在单个查询中进行以下查询。

$result = db_query("SELECT replace(source, 'node/', '') as source FROM {url_alias}  where source like 'node/%' limit 11");
foreach ($result as $record) {
$result2 = db_query("SELECT fci.* FROM {node} AS fci LEFT JOIN {node_access} AS fdfp ON fci.nid = fdfp.nid where fci.nid = :item_id AND fdfp.nid IS NULL", array(':item_id' => $record->source));
  foreach ($result2 as $record2) {
    echo '<pre>';
    print_r($record2);
  }
}

2 个答案:

答案 0 :(得分:1)

$result2 = db_query("SELECT fci.* FROM {node} AS fci LEFT JOIN {node_access} AS fdfp ON fci.nid = fdfp.nid where fci.nid IN(SELECT replace(source, 'node/', '') as source FROM {url_alias}  where source like 'node/%') AND fdfp.nid IS NULL");
foreach ($result2 as $record2) {
  echo '<pre>';
  print_r($record2);
}

答案 1 :(得分:1)

SELECT fci.*
  FROM {node} AS fci
  INNER JOIN {url_alias} ON fci.nid = REPLACE(source, 'node/', '')
  LEFT JOIN {node_access} AS fdfp ON fci.nid = fdfp.nid
  WHERE source LIKE 'node/%' AND fdfp.nid IS NULL
  LIMIT 11