Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с запросом из 2 таблиц. 
:(
    Опции темы
ElPresly
Дата 12.5.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Существует 2 таблицы 
Код

CREATE TABLE GAS_COUNTER
  (
  id number  ,
  SN_COUNTER NUMBER  ,
  ID_DEPARTMENT NUMBER,
  GAS_PRESSURE NUMBER  ,
  GAS_TEMPERATURE NUMBER  ,
  GAS_VOLUME NUMBER  ,
  GAS_VOLUME_NORM NUMBER ,
  FROM_DATE DATE  ,
  END_DATE DATE )


CREATE TABLE DEPARTMENT  (
  id_department NUMBER  ,
  name VARCHAR2 (200)  )

ALTER TABLE DEPARTMENT ADD (
      CONSTRAINT DEPARTMENT_PK
      PRIMARY KEY (ID_DEPARTMENT)
USING INDEX 
PCTFREE  10
)

ALTER TABLE GAS_COUNTER ADD (
      CONSTRAINT GAS_COUNTER_DEPARTMNET_FK
      FOREIGN KEY (ID_DEPARTMENT)
      REFERENCES  DEPARTMENT (ID_DEPARTMENT)
)



Нужно получить таблицу со столбцами name /  GAS_PRESSURE / GAS_TEMPERATURE / GAS_VOLUME / FROM_DATE. причем столбец name должен быть заполнен всеми значениями из таблицы department. ума не приложу как это сделать.

Будет использоваться посредством delphi+odac через dbgrid для ввода данных в пустые ( GAS_PRESSURE / GAS_TEMPERATURE / GAS_VOLUME / FROM_DATE) столбцы.
  
PM MAIL ICQ   Вверх
Sqlninja
Дата 13.5.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 15.5.2006
Где: San Francisco, CA

Репутация: 13
Всего: 13



ну. делаешь пустую create table xxx (name ..., GAS_PRESSURE ..., GAS_TEMPERATURE... , GAS_VOLUME ..., FROM_DATE ...). 
Потом insert into xxx select distinct name, null,null,null,null from DEPARTMENT. Потом настраиваешь свой грид на ххх. или я чегото не понял?

или же если таки надо получить существующие GAS_PRESSURE / GAS_TEMPERATURE / GAS_VOLUME / FROM_DATE, то
insert into xxx select distinct name, GAS_PRESSURE ,GAS_TEMPERATURE ,GAS_VOLUME ,FROM_DATE from DEPARTMENT d, GAS_COUNTER g where d.id_department = g.id_department

Это сообщение отредактировал(а) Sqlninja - 13.5.2008, 09:55


--------------------
It's better to burn out than to fade away.
PM MAIL WWW ICQ   Вверх
ElPresly
Дата 13.5.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



не. в таблице GAS_COUNTER когда вставляеш в нее значения должно быть  id, value, id_department (исходя из значения который в гриде), value, value,...
То есть на основании столбца name, вставляется в таблицу GAS_COUNTER соответствуйший id_department.
PM MAIL ICQ   Вверх
Sqlninja
Дата 13.5.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 15.5.2006
Где: San Francisco, CA

Репутация: 13
Всего: 13



ты сначала одно говорил, теперь другое... так счастья не будет. дай конкретный DDL таблицы, которую надо получить, и для каждого поля напиши откуда должно браться значение.


--------------------
It's better to burn out than to fade away.
PM MAIL WWW ICQ   Вверх
ElPresly
Дата 13.5.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



таблицу не нужно создавать физически! 

Должены быть столбцы name (все строки из таблицы department) /  столбцы  GAS_PRESSURE / GAS_TEMPERATURE NUMBER  / GAS_VOLUME /  FROM_DATE  вводятся через дбгрид, чтобы потом заносится в таблицу gas_counter. а поле id_department в таблице gas_counter должно заполнятся на основании столбца name



PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.