Jawaban:
db_update()
tidak mengimplementasikan antarmuka apa pun yang memiliki join()
/ innerJoin()
/ etc. metode jadi saya pikir Anda terjebak dengan menggunakan db_query()
dan menulis string kueri secara manual.
$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()
. Jika Anda ingin tetap berpegang teguh pada dokumentasi maka yakin, kondisi dengan subquery akan menjadi pilihan. Tetapi seperti yang Anda katakan, itu akan menjadi kurang berkinerja dan bagi saya tidak jatuh 'lebih baik' daripada menggunakan query sql langsung
Update
tidak menerapkan join
fungsi apa pun , masih perlu menggunakan permintaan umum untuk kasus ini.