Я достаточно компетентный программист SQL, но мои навыки по-прежнему в значительной степени относятся к доменам простых инструкций INSERT, SELECT, UPDATE с случайным LIKE и т. Д., Которые я пытаюсь сделать. является более сложным. Вот сценарий.SQL для обновления столбца в измененной таблице
- У меня есть три стола.
- В таблице 1,
*users*
указаны пользователи с помощью идентификатора пользователя, uid. Пользователи могут иметь один или несколько субсчетов - Таблица 2
*accounts*
ведет учет субсчета для каждого пользователя, среди прочего, столбцы Uid и Sid где UID, которая определена в*users*
таблице. - Таблица 3,
*data*
в настоящее время хранения некоторых данных, в течение данных столбца, который ассоциируется с конкретным субсчете, SID.
Вещь, которую я только что понял, заключается в том, что нет особых причин блокировать использование пользователями этих данных в субсчетах. Нет проблем - я могу изменить свой поиск подмножества данных SQL для работы с uid. Однако, учитывая частоту таких поисков, кажется, стоит просто заклеить в колонке uid в *data*
.
Для этого я должен был бы написать некоторые умные SQL, что бы получить UID, пары Sid из *accounts*
таблицы и использовать эту информацию для обновления вновь созданной Uid столбец в данных таблицы. Это я должен признать, что я не знаю SQL.
Следует упомянуть, что система, использующая эти данные, сейчас находится в производстве и имеет несколько 100 пользователей, поэтому возможность просто действовать так, как будто их нет, недоступно. Не очень важно, я думаю, но я должен отметить, что uid и sid - это алфавитно-цифровые strinsg с индексированными обеими столбцами.
Я был бы очень признателен всем, кто может помочь с этим.
Я должен упомянуть, что я мог бы сделать это с местом PHP. Однако, учитывая, что мне нужно внести изменения в живую среду, правильный бит SQL звучит как лучший вариант - не говоря уже о том, что я хотел бы улучшить свои SQL-шаблоны в любом случае :-) – DroidOS