Я пишу модуль, который позволяет быстро добавлять пользователей, только указав имя и фамилию (без электронного адреса или имени пользователя). Эти пользователи похожи на призраков, только для временного использования. Перед добавлением пользовательского модуля необходимо проверить, существует ли уже в системе пользователь с таким же именем и фамилией, чтобы избежать создания нескольких пользователей-призраков с одинаковыми личными именами. Другими словами, мне нужен sql-запрос для фильтрации пользователей по фамилии и имени. До сих пор мне удавалось создать такой запрос:
$sql = "SELECT DISTINCT u.uid AS uid FROM users u INNER JOIN profile_values pv ON u.uid = pv.uid INNER JOIN profile_fields pf ON pv.fid = pf.fid "
."WHERE pf.fid = 2 AND pv.value = '%s'";
$uid = db_fetch_object(db_query("$sql", $ln))->uid;
Этот запрос недостаточно хорош, так как он находит пользователя только по совпадению фамилии. Я не эксперт по sql, но я понятия не имею, как объединить таблицы, чтобы сузить результаты, чтобы имя и фамилия совпадали: что-то вроде этого
WHERE pf.fid = 2 AND pv.value = 'LASTNAME' AND pf.fid = 1 AND pv.value = 'FIRSTNAME';
В моей таблице profile_fields у меня есть: fid = 2 -> lastname fid = 1 -> firstname
И последнее предложение WHERE работать не будет. Я надеюсь, что те, кто знаком с взаимосвязью таблиц профиля и пользователя в системе Drupal, знают, о чем я прошу.