回答:
db_update()
join()
/ innerJoin()
/ etc を持つインターフェースを実装していません。メソッドなのでdb_query()
、クエリ文字列を手動で使用して書き出すことに行き詰まっていると思います。
$sql = "
UPDATE field_data_field_TEST as ft
left join node as n on ft.entity_id = n.nid
set n.type = :type1
where n.type = :type2";
$args = array(':type1' => 'test', ':type2' => 'foo');
db_query($sql, $args);
db_query()
。ドキュメントに厳密に従う場合は、サブクエリを含む条件がオプションになります。しかし、あなたが言うように、それはパフォーマンスが低く、私にとっては、単純なSQLクエリを使用するよりも「良い」とは言えません
Update
ようjoin
ですが、関数を実装しておらず、この場合は汎用クエリを使用する必要があります。