
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.12.2004, 21:09:12
|
|||
|---|---|---|---|
разрезание таблицы |
|||
|
#18+
Всем привет! Вот вопрос: Есть таблица описывающая товары, в помимо прочих имеются столбцы ТИП и ЕДИНИЦА ИЗМЕРЕНИЯ, нужно автоматом перегонять данные из этой таблицы в базу данных. В базе данных хотелось бы сделать 3 таблицы (что бы по науке все было ;-) ) ТОВАР, ТИП, ЕДИНИЦА ИЗМЕРЕНИЯ и связать их ключами. Вопрос как можно автоматизировать этот перегон скажем с помощью запроса или (в самом тяжелом случае, ибо очень не хочется) VBA. Т.е. как из простой таблицы сделать три связанные ключами автоматически т.е. не прибегая, скажем, к служебной программе "разделение баз данных". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2004, 21:35:54
|
|||
|---|---|---|---|
|
|||
разрезание таблицы |
|||
|
#18+
Лучше этот процесс контролировать самому, сначала дестинктом выбираются значения справочников из указанных полей и формируются таблицы, далее перегоняется исходная таблица полностью + добавляються поля длЯ заполнения кодов справочников. Потом апдейтами заполняются из таблиц-справочников. Исх. - A insert into B1 select distinct ТИП from A insert into C1 select distinct ЕДИНИЦА ИЗМЕРЕНИЯ from A insert into A1 select * ТИП from A добавить КОДТИПА и КОДЕДИНИЦЫ в A1 update A1 set A1.КОДТИПА = B1.КОД from B1 where B1.=НАЗВ = A1.ТИП типа того... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2004, 21:54:00
|
|||
|---|---|---|---|
|
|||
разрезание таблицы |
|||
|
#18+
В аксессе есть на это специальный визард. Нажал пару кнопок и плюй себе в потолок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2004, 02:58:37
|
|||
|---|---|---|---|
разрезание таблицы |
|||
|
#18+
У-У-У-У-Р-Р-Р-А-А-А-А-А-А!!!!!!!! Спасибище большое, SinnerXP! Все заработало, я правда несовсем понял что ты в конце имел ввиду и сделал так: INSERT INTO prices ( articul, name, unit_id, C1, C2, section_id ) SELECT [data].[articul], [data].[name], [units].[unit], [data].[C1], [data].[C2], [sections].[section] FROM (data INNER JOIN units ON [data].[unit]=[units].[description]) INNER JOIN sections ON [data].[section]=[sections].[description]; где prices-конечная таблица, data-исходная, а units и sections это те самые справочники с единицами измерения и типами соответственно. ОДНАКО, если вдаваться в подробности стоящая задача в следующем заключается: Есть большущий прайс в Excel, его надо перегнать в MySQL, но поскольку более-менее я только Access знаю, саму прогу по перегону в реляционный вид решил делать в нем. Для начального этапа (непосредственно перегон) твой метод идеально подходит. Но если в последствии захочется делать добавления - перегнать в ту же базу еще ма-а-аленький прайсик. Капутт... НЕработает, т.к. в таблицы ТИП и ЕДИНИЦА ИЗМЕРЕНИЯ добавятся повторные данные. Может есть что-либо навроде INSERT DISTINCT... ;-) НУ, в самом деле, разве нет в такой мощной штуке как SQL средств для проверки существовуют ли уже вводимые данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2004, 03:00:05
|
|||
|---|---|---|---|
разрезание таблицы |
|||
|
#18+
Программист-Любитель, визард не годится ибо нужен автоматизьм ;-) Вот если б этот визард автоматом запускать и необходимые параметры ему передавать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2004, 03:01:55
|
|||
|---|---|---|---|
разрезание таблицы |
|||
|
#18+
И еще, кстати, SinnerXP не просветишь? Не первый раз уже натыкаюсь на термин "справочники" - так, видимо, таблицы состоящие только из ключа и описания называют? Это общепринятое название или так только на этом форуме выражовываются? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2004, 08:04:00
|
|||
|---|---|---|---|
|
|||
разрезание таблицы |
|||
|
#18+
Обычно под справочниками понимают таблицы на стороне 1 в отношении 1 ко многим. Как правило это код (ключ, удобно делать автоинкрементом) + значение (чаще всего строка) + возможный комментарий, флажок какой-нибудь, еще что-нибудь по вкусу. Типичное применение - типы, категории, классификация основных данных. Часто бывает, что справочник может быть фиксированным или значения в нем редко модифицируются. Значения справочников логично использовать в качестве заголовков столбцов перекркстных запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2004, 12:42:22
|
|||
|---|---|---|---|
разрезание таблицы |
|||
|
#18+
Спасибище всем большое за прояснения.... и все-же, дико извиняясь за наглость, спрошу... ЧТО ПОДСКАЖЕТЕ ПО ПОВОДУ РЕШЕНИЯ ВЫШЕОПИСАННОЙ ЗАДАЧИ ПОЗВОЛЯЮЩЕГО В ПОСЛЕДСТВИИ ПРОИЗВОДИТЬ ДОБАВЛЕНИЕ ИНФРОМАЦИИ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1669995]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 358ms |

| 0 / 0 |
