Пожалуйста, прости мое невежество здесь. SQL, безусловно, является одним из самых больших «пробелов» в моем образовании, над которыми я работаю над исправлением, в октябре. Вот сценарий:
У меня есть две таблицы в БД, из которых мне нужно получить доступ к определенным данным. Один - users
, а другой - conversation_log
. Основная структура описана ниже:
Пользователи:
conversation_log
- userid (INT) // то же значение, что и id у пользователей - фактически единственное поле в этой таблице, которое я хочу проверить
- вход (TXT)
- ответ (TXT)
(обратите внимание, что я только перечисляю структуру для полей, которые {или могут быть} релевантными для текущей задачи)
То, что я хочу сделать, это вернуть список имен из таблицы пользователей, у которых есть хотя бы одна запись в таблице dialog_log. В настоящее время я делаю это с помощью двух отдельных операторов SQL, один из которых проверяет наличие записей в разговорном журнале сотни, если не тысячи раз, один раз для каждого идентификатора пользователя, просто чтобы посмотреть, существуют ли записи для этого идентификатора.
В настоящее время два оператора SQL выглядят следующим образом:
выберите id
из users
, где 1; (получает список значений идентификатора пользователя для следующего запроса)
выберите id
из conversation_log
, где userid
= $ userId limit 1; (проверяет существующие записи)
Сейчас у меня более 4000 пользователей, перечисленных в таблице пользователей. Я уверен, что вы можете себе представить, сколько времени займет этот метод. Я знаю , есть более простой и эффективный способ сделать это, но, будучи самоучкой, это то, что мне еще предстоит изучить. Любая помощь будет принята с благодарностью.