0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 23
1

вывести записи с наибольшими id

29.11.2013, 14:02. Показов 622. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. у меня следующая задача.
имеются четыре таблицы, клиент, проект, этап, документ. все они связаны по id
задача: нужно вывести по одному клиенту, так чтобы у каждого клиента выводился последний проект, у проекта вывводился последний этап и документ. то есть все последние добавленные записи по клиенту.
пробовал вот такой запрос, но не то
PHP
1
2
3
4
5
6
7
$result="SELECT clientt.id_clientt, proekt.id_proekt, clientt.name_clientt, proekt.name_proekt, etap.name_etap, etap.id_etap, dokument.id_dokument, dokument.name_dokument
        FROM
        clientt, proekt, etap, dokument
        WHERE
        clientt.id_clientt=proekt.id_clientt and proekt.id_proekt=etap.id_proekt and proekt.id_proekt=dokument.id_proekt and   etap.id_etap=dokument.id_etap 
        GROUP BY clientt.id_clientt DESC
        ";
подскажите пожалуйста, что делать????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2013, 14:02
Ответы с готовыми решениями:

Вывести из файла трех людей с наибольшими баллами за конкурс
Напишите функцию max_score(filename), которая открывает файл portfolio.txt, считывает оттуда строки...

Вывести вектор, элементы которого являются наибольшими числами каждой строки матрицы. Матрица в файле
Пожалуйста помогите решить задачу: Мне нужно вывести вектор, элементы которого являются...

Запрос: вывести все записи одной таблицы, и совпадающие записи другой
SELECT .ФИО AS ФИО, .Паспорт AS , .Телефон AS Телефон FROM Source INNER JOIN Compare ON...

Вывести связанные записи из второй таблицы при выборе записи в первой
Есть две таблицы, в одной пишется имя и фамилия, а в другой телефоны и их может быть несколько,...

9
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
29.11.2013, 14:22 2
Пришлите пожалуйста структуру вашей бд в виде картинки
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 23
29.11.2013, 14:37  [ТС] 3
вот моя структура. также я пробовал использовать LEFT JOIN результат такой же
Миниатюры
вывести записи с наибольшими id   вывести записи с наибольшими id   вывести записи с наибольшими id  

вывести записи с наибольшими id  
0
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
29.11.2013, 14:57 4
Зайдите в меню базы и там выберите дизайнера и то, что он нарисует пришлите сюда одной картинкой

Добавлено через 6 минут
Структура таблиц должна быть следующей
1. Таблица клиентов с id
2. Таблица проектов которая имеет свой id и parentID которое через связи связывается с id клиента (вторичный ключ)
3. Таблицы документ и этап с собственными id и parentID к id проекта
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 23
29.11.2013, 15:01  [ТС] 5
что-то я не могу найти дизайнера. но структура у меня почти такая-же как вы описали. только у меня таблица этап имеет свой id и id_proekt, а таблица документ имеет свой id, id_proekt, и ID_ETAP
0
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
29.11.2013, 15:10 6
PHP
1
2
3
4
5
6
7
$result="SELECT clientt.id_clientt, proekt.id_proekt, clientt.name_clientt, proekt.name_proekt, etap.name_etap, etap.id_etap, dokument.id_dokument, dokument.name_dokument
        FROM
        clientt, proekt, etap, dokument
        WHERE
        clientt.id_clientt=proekt.id_clientt and proekt.id_proekt=etap.id_proekt and proekt.id_proekt=dokument.id_proekt and   etap.id_etap=dokument.id_etap 
        ORDER BY clientt.id_clientt, proekt.id_proekt, etap.id_etap, dokument.id_dokument DESC
        ";
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 23
29.11.2013, 15:16  [ТС] 7
он тогда выдает много записей для клиентов.. а мне нужно чтобы один для одного клиент была только одна строка. и так вниз для всех клиентов
0
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
29.11.2013, 15:17 8
PHP
1
2
3
4
5
6
7
8
$result="SELECT clientt.id_clientt, proekt.id_proekt, clientt.name_clientt, proekt.name_proekt, etap.name_etap, etap.id_etap, dokument.id_dokument, dokument.name_dokument
        FROM
        clientt, proekt, etap, dokument
        WHERE
        clientt.id_clientt=proekt.id_clientt and proekt.id_proekt=etap.id_proekt and proekt.id_proekt=dokument.id_proekt and   etap.id_etap=dokument.id_etap 
        GROUP BY clientt.id_clientt
        ORDER BY clientt.id_clientt, proekt.id_proekt, etap.id_etap, dokument.id_dokument DESC
        ";
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 23
29.11.2013, 15:35  [ТС] 9
а сейчас он выдает по клиенту(в одной строку), но клиенты не по последнему, а по первому и не по последнему проекту, этапу и документу(
0
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 23
03.12.2013, 13:59  [ТС] 10
народ, если кто-нибудь знает, подскажите пожалуйста

Добавлено через 13 минут
у меня вообще что-то странное творится, он выводит уже не первый и не последний проект, а где -то по середине. в чем проблема может быть??? может у кого-то встречалась подобная задача???

Добавлено через 2 часа 17 минут
вандал, спасибо за попытки помочь)
вроде бы решил задачу, помогли на другом форуме)
вот код
PHP
1
2
3
4
$result="SELECT * FROM clientt
left join proekt on proekt.id_proekt = (select max(id_proekt) from proekt where proekt.id_clientt = clientt.id_clientt)
left join  etap on etap.id_etap = (select max(id_etap) from etap where etap.id_proekt = proekt.id_proekt)
left join  dokument on dokument.id_dokument = (select max(id_dokument) from dokument where dokument.id_proekt = proekt.id_proekt)";
0
03.12.2013, 13:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2013, 13:59
Помогаю со студенческими работами здесь

Записи: Вывести на печать информацию об инструменте с самым большим сроком использования и выполнить корректировку этой записи
помогите Используя подпрограммы, создать внешний файл из 7 записей, прочитать созданный файл и,...

Дан файл записей. Одно из полей записи ФИО. Вывести все записи в виде таблицы в алфавитном порядке ФИО
Я сделал ввод файла, а вот как сделать такой вывод не знаю. Помогите пожалуйста. Каждая запись...

Посчитать все записи и вывести все записи в одном запросе
Здравствуйте! Скажите,как правильно объединить два запроса: SELECT COUNT(*) AS `num` FROM...

Выделение 7 ячеек с наибольшими значениями
Добрый день. Подскажите пожалуйста, как сделать чтобы из строки выделялись 7 ячеек с наибольшими...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru