Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выборка из базы MySQL

2.2K
01 апреля 2012 года
MagicPRO
100 / / 02.10.2006
Всем доброго времени суток! У меня несколько странная задача есть сайт и надо сделать следующее:
1. есть справочник клиентов. Инфу о клиенте придумай сам (Есть название фирмы, конт. номер, вид собственности)
2. Есть справочник видов работ. Инфу придумай сам типа стоимость, продолжительность. (Сделал вид работы, срок выполнения и стоимость)
3. Есть работы : Вид работы выполняемой у Клиента . Начало работ, стоимость, -- потом можно сказать что работа закончена.
В базе три таблицы, таблица 3 имеет ссылки на табл 1 и 2.

Проблема пункт номер 3. Я такое никогда не делал. И не пойму как связать( Выводить то надо чтоб не было наложений. Подскажите возможные пути решения. Заранее благодарен!
67K
01 апреля 2012 года
NoXCode
64 / / 11.03.2012
В данном случае создается реляционная база данных из трех таблиц - "Справочник клиентов" (dbo.Consumers),
"Справочник видов работ" (dbo.Jobs), "Назначенные задания" (dbo.Tasks). Третья таблица нужна для установки
реляционной связи между списком клиентов и списком запланированных заданий через индексы (значения полей ID)
в трех таблицах. В третьей таблице присутствуют поля Consumer_ID и Job_ID в которых содержаться индексы
каждого клиента и списка заданий. Список полей и их значения описаны выше. В ERD-диаграме (см. ниже) показана
связь между полями dbo.Consumers.ID и dbo.Tasks.Consumer_ID, а также dbo.Jobs.ID и dbo.Tasks.Job_ID.
67K
01 апреля 2012 года
NoXCode
64 / / 11.03.2012
Далее при помощи SQL-запроса (см. ниже) формируется выборка списка заданий по каждому из клиентов:

SELECT dbo.Consumers.Name, dbo.Jobs.Name FROM dbo.Consumers,dbo.Jobs,dbo.Tasks
WHERE dbo.Consumers.ID = dbo.Tasks.Consumer_ID AND dbo.Jobs.ID = dbo.Tasks.Job_ID

Результат выборки выглядит так:
2.2K
01 апреля 2012 года
MagicPRO
100 / / 02.10.2006
Спасибо за совет! Буду пробовать реализовать!!!!
2.2K
02 апреля 2012 года
MagicPRO
100 / / 02.10.2006
А вопрос....как быть с выводом "работа закончена"! Условие сравнение даты? или какой то счетчик?
67K
02 апреля 2012 года
NoXCode
64 / / 11.03.2012
Дополнительное поле типа bit
2.2K
02 апреля 2012 года
MagicPRO
100 / / 02.10.2006
NoXCode, у меня такая проблемка! Я сделал как Вы написали! Внес несколько записей в таблицы Consumer и Job, пробил через phpmyadmin запрос и мне выдало MySQL returned an empty result set (i.e. zero rows).
Я так понимаю что пусто, 3ю таблицу тоже надо как то заполнять записями?
67K
02 апреля 2012 года
NoXCode
64 / / 11.03.2012
Необходимо заполнить таблицу dbo.Tasks. Вот так:
2.2K
03 апреля 2012 года
MagicPRO
100 / / 02.10.2006
Последний пункт по этой таблице) Нужно вывести к этим двум столбцам еще и дату! то есть поле Time. Если объединить 2 запроса в один при помощи UNION ?

SELECT Consumers.Name, Jobs.Name FROM Consumers,Jobs,Tasks
WHERE Consumers.ID = Tasks.Consumer_ID AND Jobs.ID = Tasks.Job_ID
UNION
SELECT Time From Tasks

но выводит ошибку в phpmyadmin #1222 - The used SELECT statements have a different number of columns. В чем проблема по мануалу не понял(
385
03 апреля 2012 года
SomewherSomehow
477 / / 25.07.2004
И что непонятного в ошибке? Вам уже и так все разжевали, дальше некуда...
Вам бы по основам sql книжку какую почитать или на курсы какие-нить походить, или в хелп залезть.
Это лаба или курсач? Или сейчас это реально такая новая формация программистов?
2.2K
04 апреля 2012 года
MagicPRO
100 / / 02.10.2006
Все получилось разобрался с полями))

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог