powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запрос с подзапросом? SQL
2 сообщений из 2, страница 1 из 1
запрос с подзапросом? SQL
    #32578412
big-spoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеем:

главная таблица "model" с полями: id, material, check

подчиненные таблицы:

"experiment", с полями: id, t, y9, y10, modelid
"parametr", с полями: id, parametr, value, dimension

таблицы связаны по полю id.

Нужно построить перекрестный запрос, в него включить
все модели, у которых model.check = true (количество столбцов)
на пересечении строки и столбца отобразить значение y9 в момент времени t.
Делаю это вот так:

Код: plaintext
1.
2.
3.
4.
5.
TRANSFORM First(experiment.y9) AS First_y
SELECT experiment.t
FROM model INNER JOIN experiment ON model.id = experiment.id
WHERE (model.check=True)
GROUP BY experiment.t
PIVOT experiment.modelid;

как можно трансформировать этот запрос или написать представления (view)
или временные запросы, чтобы вместо y9 вычислить:
y10-(a*y9+b), где велицины a, b найти из таблицы "parametr" по соответсвующему id???
...
Рейтинг: 0 / 0
запрос с подзапросом? SQL
    #32578444
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортаблицы связаны по полю id.
Их три - полей id. Какое и с кем?
А, вроде понял:
experiment.modelid=model.id;
experiment.id=paremetr.id.
PKs:
model.id
experiment.id
parametr.id+parametr.parametr
Так?
Тогда еще вопрос: SQL, представление, view и transform. Они между собой как связаны? Если это mssql, то у него трансформ пока нет, если jet-SQL, то зачем пугать терминами?

А вообще какой смысл собирать все запросы в одну строку? Это за тебя уже сделали умные программисты ядра sql. Пиши себе спокойно отдельные запросы (представления) так, чтобы через год-два, взглянув на вид запроса в конструкторе, тебе было понятно, что этот запрос делает. А оптимизатор, или как его там зовут, уложит для ядра этот запрос в почти оптимальном виде.

Т.е. сделай запросы типа

запрос1:
select [value] as a from parametr where parametr='a';

запрос2:
select [value] as b from parametr where parametr='b';

запрос3:
Код: plaintext
1.
2.
3.
select model.id, y10-(a*y9+b)
from (((model as m inner join experiment as e on m.id=e.modelid)
       inner join [запрос1] as q1 on q1.id=e.id) 
        inner join [запрос2] as q2 on q2.id=e.id)

Примерно так. Пишу, не проверяя - м.б. ошибки.
А уж из него делай перекрестный.

В последних акцессах их можно собрать и в кучу - а смысл?

ЗЫ. Все-таки не понятно, зачем поле dimension? Я подразумевал, что оно в первичный ключ не входит.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запрос с подзапросом? SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]