多个条件SQL左连接与Drupal 7

时间:2012-01-29 01:51:03

标签: sql drupal drupal-7

这是How do you apply multiple conditions to a leftjoin on a db_select?

的延续

这是一个问题:如何使用条件适用于后续表的条件执行leftJoin?

即。说你有一个关系动物园 - >笼子 - >动物。如果动物有鳞片,你想要返回一组所有的笼子和动物的信息。

set 1   | set 2
---------------
cage 1  |  lizard (scales)
cage 1  |  elephant
cage 2  |  bird
cage 3  |  rhino
cage 4  |  lions

我想回复:

set 1   | set 2
---------------
cage 1  |  lizard (scales)
cage 2  |  -empty-
cage 3  |  -empty-
cage 4  |  -empty-

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

// select from your table
$query = db_select(....);
....

$query->condition('set2.animal_name', db_like('scales'), 'LIKE');
$query->groupBy('set1.cage_field');

// continue query
....

set2在哪里与动物对齐,animal_name是你的名字。

但是此查询将返回以下

set 1   | set 2
---------------
cage 1  |  lizard (scales)