Название: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: Пантер от Август 26, 2008, 14:07 Есть 2 таблицы:
таблица1: номерКарточки площадь таблица2 номерКарточки фамилия дата площадь Задача вывести в модель: 1.номерКарточки, 1.площадь, 2.площадь По первой таблице все нормально, а вот во второй с одним номерКарточки может быть сразу несколько записей, из которых нужна только последняя. Вот мой запрос SELECT 1.номер карточки, 1. площадь, (SELECT top 1 2.площадь FROM таблица2 2 WHERE 2.номерКарточки=1.номерКарточки ORDER BY 2.дата DESC) FROM таблица1 1 Он не работает, если с одним номерКарточки в таблице2 связаны несколько записей. 2 дня бьюсь и никак... Название: Re: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: Alex03 от Август 26, 2008, 14:34 panter_dsd Прпробуйте попонятней изъясняться.
Если описываете схему в БД, то не плохо было бы указать также на связи, а также отношения типа один к одному, один ко многим, и т.д. Хоть SQL и стандартизован, но стандартов этих далеко не 1, а вариантов поддержки в реальных реалицациях СУБД и того больше (далеко не все поддерживают "SELECT top 1 ..."), так что не плохо бы сказать что за БД и её версию. Числовые алиасы таблиц - "замечательный" стиль, мне теперь интересно какие СУБД их поддерживают. Цитировать Он не работает, если с одним номерКарточки в таблице2 связаны несколько записей. Это можно прочитать так:Он не работает, если с одним номерКарточки в таблице2 связаны несколько записей в таблице1. а можно так: Он не работает, если с одним номерКарточки в таблице1, в таблице2 связаны несколько записей. И фраза "Он не работает" что означает? Какие тексты ошибок и т.д.? Ну и на последок ДА, лучше такие вопросы задавать в более профильном форуме (например на sql.ru) чем в форуме по Qt. Впрочем на sql.ru скорее пошлют учить матчасть. Название: Re: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: pastor от Август 26, 2008, 14:57 2 panter_dsd: Если вопрос "совсем не по куте", зачем его постить в раздел по Qt? о_О. На форуме есть и другие разделы:
http://prog.org.ru/forum/board_34_0.html Название: Re: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: Пантер от Август 26, 2008, 14:58 На sql.ru тоже запостил, только молчат пока.
Цитировать Числовые алиасы таблиц - "замечательный" стиль Это для примера. Если бы я привел нормальный код, то вообще нихрена бы не поняли.Цитировать так что не плохо бы сказать что за БД и её версию Никакой БД. 2 файла dbf III. Коннекчусь через ODBC, вот строка соединения:Код: DRIVER={Microsoft dBase Driver (*.dbf)};FIL={dBase III;};DefaultDir=каталог Цитировать Это можно прочитать так: Он не работает, если с одним номерКарточки в таблице2 связаны несколько записей в таблице2.Он не работает, если с одним номерКарточки в таблице2 связаны несколько записей в таблице1. а можно так: Он не работает, если с одним номерКарточки в таблице1, в таблице2 связаны несколько записей. Не работает, т.е. говорит, что подзапрос выдает больше одной записи, что запрещено. 2 panter_dsd: Если вопрос "совсем не по куте", зачем его постить в раздел по Qt? о_О. На форуме есть и другие разделы: Упс... Не заметил.http://prog.org.ru/forum/board_34_0.html Название: Re: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: Tonal от Август 26, 2008, 16:39 ODBC над dbf-ом поддерживает довольно ограниченное подмножество SQL-я. Так что вполне может и не работать.
Так что либо реализовать всё вручную, либо перелезть на нормальный сервер. А почему именно dbf? Название: Re: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: Пантер от Август 26, 2008, 18:25 ODBC над dbf-ом поддерживает довольно ограниченное подмножество SQL-я. Так что вполне может и не работать. Да потому, что СУБД на работе писана на foxpro. Так уже задолбали эти dbf'ки... Вот попробую завтра данные перелить на птицу и там уже сделать выборку.Так что либо реализовать всё вручную, либо перелезть на нормальный сервер. А почему именно dbf? Название: Re: Вопрос не совсем по куте, т.е. совсем не по куте, но прошу помочь. Отправлено: Пантер от Август 27, 2008, 10:31 Перегнал данные в SQLite, все заработало. Всем спасибо.
|