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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запросы SQL, происходит повторение полей базы данных 
V
    Опции темы
Skodina
  Дата 7.5.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

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



Добрый день.
 у меня возникла такая проблема

есть база данных в Access которая состоит из нескольких таблиц (Магазины, Продажи, Секции, Товар)
вот ее структура

user posted image


первая проблема такая, когда подключаю таблицы с помощью SQL запросов подключить могу только 3, если начинаюподключать еще и четветртую, то программа виснет причем бесповоротно  smile 
вот код запроса
Код

SELECT * 
FROM Магазины, Секции, Продажи
 


вторая проблема заключается в том, что при выводе этих трех таблиц дублируются поля базы данных, например 2 раза прописывается поле код секции, плюс дублируются сами данные :(( все таблицы я вывожу в одну с помощью DBGrid)

Объясните пожалуйста, что я делаю не так?
PM MAIL   Вверх
Rodman
Дата 7.5.2010, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



1. Создать запрос при помощи мастера, а не в рукопашную
2. или пропиши все связи, а не просто перечисли таблицы и конкретно перечисли поля, а не звездочку пихай
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Akina
Дата 7.5.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(Skodina @  7.5.2010,  15:12 Найти цитируемый пост)
вот код запроса

А связи за тебя будет Пушкин прописывать?

Цитата(Skodina @  7.5.2010,  15:12 Найти цитируемый пост)
например 2 раза прописывается поле код секции

А их и есть два - в двух разных таблицах.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
pseud
Дата 7.5.2010, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Код

SELECT 
  t1.код магазина as field1,
  t2.код секции as field2,
  t3.код магазина as field3,
  t3.код секции as field4
FROM 
  Магазины t1, Секции t2, Продажи t3

этот код корректно выводит одноименные поля из разных таблиц.
а вообще Rodman прав - определись какие тебе поля нужны.
ведь поля типа "код магазина" наверянка нужны только для построения выборок.


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
superVad
Дата 7.5.2010, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Skodina, в запросе нету связей... Ты лучше напиши, что тебе надо получить в итоге работы запроса - так проще будет.
PM MAIL   Вверх
Skodina
  Дата 7.5.2010, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

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



Цитата

superVad Skodina, в запросе нету связей... Ты лучше напиши, что тебе надо получить в итоге работы запроса - так проще будет. 

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


но вот на вопрос почему при подклбючении 4 таблицы программа полностью виснет никто не ответил  smile 

Это сообщение отредактировал(а) Skodina - 7.5.2010, 18:31
PM MAIL   Вверх
Skodina
Дата 7.5.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

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



Должна получится примерно вот такая таблица

user posted image


вы говорите что нужно прописать связи, как это сделать  напишите пример smile  ну или ссылку, где это можно посмотреть
PM MAIL   Вверх
Skodina
Дата 7.5.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 29.5.2009
Где: Москва

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



большое всем спасибо, я разобралась

Код

SELECT Продажи.Код,
       Продажи.[дата продажи], 
       Продажи.[количество проданного], 
       Продажи.цена, 
       Продажи.[сумма проданного], 
       Магазины.[код магазина], 
       Магазины.[название магазина], 
       Товар.[код товара], 
       Товар.[наименование товара], 
       Товар.[единица измерения], 
       Секции.[код секции], 
       Секции.[наименование секции]
FROM   Товар 
INNER JOIN 
       (
       Секции 
       INNER JOIN 
              (
              Магазины 
              INNER JOIN 
              Продажи 
              ON Магазины.[код магазина] = Продажи.[код магазина]
              ) 
       ON Секции.[код секции] = Продажи.[код секции]
       ) 
ON Товар.[код товара] = Продажи.[код товара];


 smile 

Это сообщение отредактировал(а) Akina - 9.5.2010, 19:13
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


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

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


 




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


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

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