Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 30.11.2021 09:37

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 22.10.2014 09:21 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
Добрый день.
Есть таблица "Объекты", в которой поля "Группа", "Название", "Адрес", "Примечание". Всего записей около 200.
Нужно сделать таблицу, в которой первое и второе поле будут идентичны таблице "Объекты" (т.е. группа и название автоматически заполняются из таблицы Объекты), а следующие поля будут заполняться вручную.

Пример:
Таблица Объекты:

Москва Контрагент1 ул.Иванова 12 Хороший котрагент
Москва Контрагент2 ул.Пермская 145 Средний
Екатериньург Контрагент3 ул.Камская 14 Без примечания
.....
Москва Контрагент200 ул.Петрова 56 Хороший контрагент


Необходимая Таблица
Москва Контрагент1 .... .... .... .....
Москва Контрагент2 .... .... .... .....
Екатериньург Контрагент3 .... .... ..... .....
.....
Москва Контрагент200 .... .... .... .....

Как это реализовать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 10:56 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3829
Откуда: Санкт-Петербург
Добрый день.
Если я правильно понял, что вам нужно:

Физтаблицы:
tblObjects (ID, Group, ObjectName, Address, Notes)
tblOthers (Field1, Field2... ObjectID)

Финальное представление:
qdfObjectWithOthers
SELECT Group, ObjectName, Field1, Field2... FROM tblOthers LEFT JOIN tblObjects ON tblOthers.ObjectID = tblObjects.ID

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 12:02 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
А вторая таблица, которую необходимо создать -- это представление или все-таки физическая таблица ?

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 12:21 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
Вторую таблицу надо заполнять...
Я так понимаю, это значит "физическая таблица"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 12:51 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3829
Откуда: Санкт-Петербург
Финальное представление qdfObjectWithOthers предназначена для ввода данных в поля, начиная с третьего, в соответствии с задачей.
При этом первые два поля тоже можно менять, это будет приводить к изменению в исходной таблице tblObjects.

Только, скорее всего, вам нужно не это...

СтьюиГриффин,
В программе меню "Таблицы" -> "Добавить таблицу..." читайте подсказку, чем физтаблицы отличаются от таблиц-представлений.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 13:18 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
Ivan писал(а):
Финальное представление qdfObjectWithOthers предназначена для ввода данных в поля, начиная с третьего, в соответствии с задачей.
При этом первые два поля тоже можно менять, это будет приводить к изменению в исходной таблице tblObjects.

Только, скорее всего, вам нужно не это...

СтьюиГриффин,
В программе меню "Таблицы" -> "Добавить таблицу..." читайте подсказку, чем физтаблицы отличаются от таблиц-представлений.


Читал! Несколько раз пытался вникнуть в текст, но не могу понять, в чем все таки отличие. Если расскажете на живом примере, буду премного благодарен!

По сути своего вопроса: первые два поля в нужной таблице как раз менять не надо. А вот при изменении их в Объектах (т.е. в главной таблице), они как раз меняться должны


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 13:25 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Это плохо, понимание данное вопроса крайне важно для работы по настройке конфигурации на таком уровне.
Конкретно в данном случае необходимо создать представление с запросом вида:
Код:
SELECT Группа, Название, Адрес, Примечание FROM Объекты
Названия Группа, Название, Адрес, Примечание и таблицу Объекты в запросе нужно изменить на соответствующие им внутренние имена. Любое изменение в этом представлении будет отражаться на исходной таблице Объекты, т.к. представление -- есть не что иное как ссылка на все или лишь некоторые данные исходной таблицы. Если нужно, чтобы данные в обеих таблицах были независимы, то нужно создать именно физическую таблицу, два первых поля которой заполнить исходными данными из первой таблицы через диалог "Групповое обновление" из меню "Сервис" (с помощью прямого SQL-запроса).

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 13:35 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3829
Откуда: Санкт-Петербург
СтьюиГриффин,
Вы в курсе, что не сказали самого главного - как называется вторая таблица?
И два слова о ее назначении и задумке (если это не очевидно из названия).

Неконкретные вопросы порождают неконкретные, малополезные или вообще не те, ответы.
Посмотрите хороший фильм "Серьезный человек" ))
Там товарищ мучается всю жизнь и задает абстрактные вопросы (почему ВСЕ ЭТО со мной происходит...), можно только посмеяться над тем товарищем и посочувствовать ему.
Стоит вам только самому себе описать ситуацию во весех конкретных деталях, как ответ будет очевиден.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 13:38 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
И таки да: прежде, чем браться за создание/изменение конфигурации, нужно конкретно разобраться в сути вопроса и четко сформулировать цели.

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 14:20 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
OMEN писал(а):
Это плохо, понимание данное вопроса крайне важно для работы по настройке конфигурации на таком уровне.
Конкретно в данном случае необходимо создать представление с запросом вида:
Код:
SELECT Группа, Название, Адрес, Примечание FROM Объекты
Названия Группа, Название, Адрес, Примечание и таблицу Объекты в запросе нужно изменить на соответствующие им внутренние имена. Любое изменение в этом представлении будет отражаться на исходной таблице Объекты, т.к. представление -- есть не что иное как ссылка на все или лишь некоторые данные исходной таблицы. Если нужно, чтобы данные в обеих таблицах были независимы, то нужно создать именно физическую таблицу, два первых поля которой заполнить исходными данными из первой таблицы через диалог "Групповое обновление" из меню "Сервис" (с помощью прямого SQL-запроса).


Спасибо. Толково объяснили. Сейчас буду пытаться выполнить.
Ivan писал(а):
СтьюиГриффин,
Вы в курсе, что не сказали самого главного - как называется вторая таблица?
И два слова о ее назначении и задумке (если это не очевидно из названия).

Называется она календарь занятости объектов. Название не суть....А реализация нужна, чтобы потом выгружать данные в эксель и загружать на сайт. Именно так и работает сейчас


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 16:23 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3829
Откуда: Санкт-Петербург
Таблицы-календари часто представляют из себя физтаблицы, заполняющиеся из скрипта на основе заказов (или других показателей занятости) по явному нажатию кнопки "Построить расписание" или автоматически по триггеру. Т.е. совсем не тот подход, что я предложил в своем первом посте.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 16:52 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
Ivan писал(а):
Таблицы-календари часто представляют из себя физтаблицы, заполняющиеся из скрипта на основе заказов (или других показателей занятости) по явному нажатию кнопки "Построить расписание" или автоматически по триггеру. Т.е. совсем не тот подход, что я предложил в своем первом посте.

Здорово конечно...А если надо просто проставить занятость по факту, без наличия заказов?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 17:33 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
SELECT Группа, Название, Адрес, Примечание FROM Объекты

Вот эта команда помогла. Единственное, что порядок записей во взятых из таблицы "Объекты" стал другой.
Теперь появилось 2 вопроса:
1) как восстановить порядок в полученной таблицы qdf?
2) Как сделать полную копию полученной таблицы qdf только с другим названием?
Тут додумался сам SELECT * FROM qdf...

Первый вопрос остается открытым)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22.10.2014 18:18 
Не в сети

Зарегистрирован: 22.10.2014 08:36
Сообщения: 62
OMEN писал(а):
Это плохо, понимание данное вопроса крайне важно для работы по настройке конфигурации на таком уровне.
Конкретно в данном случае необходимо создать представление с запросом вида:
Код:
SELECT Группа, Название, Адрес, Примечание FROM Объекты
Если нужно, чтобы данные в обеих таблицах были независимы, то нужно создать именно физическую таблицу, два первых поля которой заполнить исходными данными из первой таблицы через диалог "Групповое обновление" из меню "Сервис" (с помощью прямого SQL-запроса).


Да, все таки оказалось, что именно это и требуется.
Пытаюсь выполнить запрос: CREATE TABLE tblCalendar201412 SELECT Gruppa, Nazvanie FROM tblObjects
Без результата. Подскажите, где ошибка?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23.10.2014 11:02 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3829
Откуда: Санкт-Петербург
Цитата:
1) как восстановить порядок в полученной таблицы qdf?

Добавить ORDER BY ID

CREATE TABLE, думаю, вам делать не нужно. Создайте таблицу средствами интерфейса.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB