![]() |
|
Модераторы: skyboy |
![]()
|
|
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Ч-ч-черт!
Запятая пропущена же в 6-ой строке! Он же говорит, что я жду FROM т.к. точка была Добавлено через 9 минут и 11 секунд Вот такой вот пример нашел на сайте разработчика:
Т.е. коррелированные подзапросы поддерживаются! Может быть и наш запрос переделать подобным образом... Нужно подумать... Добавлено через 13 минут и 16 секунд
Если такой запрос прокатит, то счастье будет -------------------- Слава Україні! |
||||
|
|||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
lat, не спать
Вариант с коррелированным подзапросом работает? -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Ухты! Показало все поля из таблицы Files ))) Это сообщение отредактировал(а) lat - 17.10.2009, 23:18 --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
И всё -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
MinPrice есть, но оно везде равно нулю
--------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Перед тем как выйти на финишную прямую хочу уточнить правильно ли я понимаю предметную область...
Есть файлы... Каждый файл имеет имя... Каждому файлу соотвествует (содержиться или как угдно) несколько записей из таблицы товаров... Нужно отобразить: Имена всех файлов, а так же информацию о товаре с минимальной ценой соответствующий данному файлу... Или же: Имена всех файлов, а так же информацию о всех товарах соответствующих данному файлу и в придачу для них найти ещё минимальную цену... Или что то другое? Добавлено через 3 минуты и 47 секунд Предлагаю сделать следующее (что бы я понимал о чем речь) заполнить таблицы буквально двумя-тремя картежами (строками) тестовых данных и выложить сюда. Тогда легче будет понят то или не то возвращает запрос... -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Ага, верно. Нужно найти в таблице Tovar (а там находятся все товары из всех файлов) одинаковые товары, выбрать из них товар с минимальной стоимостью и вывести инфу о нем, включая инфу о том в каком файле (прайсе) был взят товар. ЗЫ прога анализирует прайсы, находит одинаковые товары и выбирает тот который имеет наименьшую стоимость. Это сообщение отредактировал(а) lat - 17.10.2009, 23:35 --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Вот так (только ещё нужно вывести остальную информацию о товаре)? -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
запрос дал не правильный результат (((
Ну смотри. Например в таблице Tovar есть 3000 записи. В таблице Files - всего 2-е (так как все товары были взяты из 2-х прайсов). Предположим в этих двух прайсах были идентичные записи о товарах, с той лишь разницей что цены у них разные. Так вот нужно что бы после запроса, на выходе было 1500 записей с ценой (минимальной) и инфой о файле источнике. Так вот тот запрос дал 2800 записей. Добавлено @ 23:53 Таблички: Tovar.sql File.sql Может так проще будет задачу решить. Как бы в живую увидеть о чем речь) Это сообщение отредактировал(а) lat - 17.10.2009, 23:57 --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Что бы из 3000 записей было отобрано 1500 нужно что бы каждая запись повторялась ровно два раза...
А раз выводит 2800, то это значит, что среди 3000 записей только 200 повторяются в обоих прайсах, а остальные уникальны (т.е. содержаться только в одном из двух прайсов). А отсюда резонный вопрос, по какому признаку определять "одинаковость" товара? Я делал по name_new, правильно? Ещё раз прошу! Предлагаю заполнить БД двумя-тремя строчками данных (показать мне эти строчки) и потом постить что вернул запрос и что от него ожидалось... Так будет легче Ну и А вообщето (я уже потихоньку начинаю въезжать в суть БД) тут на лицо ошибка проектирования (по моему)! В одном файле могут быть разные товары и в то же время один и тот же товар может находиться в разных файлах? Тогда выходит отношение многие ко многим, а многие ко многим на этапе физического проектирования реализуется внедрением дополнительной "третьей" таблицы... Т.е. как то так Товары: код, наименование, характеристики Товар_в_Прайсе: код_товара, код_прайса, цена Прайс: код, наименование, фирма Ну это так, на правах оффтопа -------------------- Слава Україні! |
|||
|
||||
| lat |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
приатачил все файлы в пред посту. в том то и прикол, я делал так что бы повторялось ровно два раза.
ща обмозгую ... Добавлено @ 00:07
Вернуло 3246 из 3796. Результат приатачил к посту. Это сообщение отредактировал(а) lat - 18.10.2009, 00:10 Присоединённый файл ( Кол-во скачиваний: 3 )
Result.zip 57,71 Kb--------------------
Gott weiß ich will kein Engel sein |
||||||
|
|||||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Предлагаю сократить объем тестовых данных до осязаемых размеров - до десятка штук. Есть такая возможность? И на этом десятке выполнять запросы, тогда и ошибка найдется... А на 3000 тысячах записей у меня ну прямо глаза разбегаются Добавлено через 10 минут и 48 секунд Так... Ошибку нашел... Думаю... Добавлено через 12 минут и 54 секунды Судя по результатам запроса в БД 3796-3246=? товара по одинаковой цене в обоих прайсах... -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Файлы урезал до разумного размера =)
Грузить с того же источника. --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
ОК! Сейчас перенесу данные к себе в БД и думаю что дела пойдут быстрее, но если честно, то такого ступора у меня уже давно не было Что то никак не идет шайба в канадские ворота -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Та да. Задачка повергла уже как минимум 3 - х людей в некий продолжительно-мучительный ступор =)
Видно это все влияние госпожи субботы ;) --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |