powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как переписать с MS SQL Server на Access97
3 сообщений из 3, страница 1 из 1
как переписать с MS SQL Server на Access97
    #32473579
big-spoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
от предшественника достался код на MS SQL Server, который перевожу на Access
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Go
If exists (select * from ug.dbo.sysobjects 
  where  id = object_id(N'[ug].[dbo].[result]') and 
        (type='U' OR xtype='U') )
  DROP TABLE u70g18.dbo.result  -- Удалим старую результирующую таблицу
 
GO
Create table u70g18.dbo.result 
  (t float,cu1_y1 float,cu1_y2 float,cu1_y3 float,
           cu2_y1 float,cu2_y2 float,cu2_y3 float,
    cu3_y1 float,cu3_y2 float,cu3_y3 float,
    cu4_y1 float,cu4_y2 float,cu4_y3 float) 
GO
Insert into ug.dbo.result  
    (id,t, 
    cu1_y1, cu1_y2, cu1_y3,
    cu2_y1, cu2_y2, cu2_y3,
    cu3_y1, cu3_y2, cu3_y3,
    cu4_y1, cu4_y2, cu4_y3)
Select  tt.id,tt.t,
    m1.y1,m1.y2, m1.y3,
    m2.y1,m2.y2, m2.y3,
    m3.y1,m3.y2, m3.y3,
    m4.y1,m4.y2, m4.y3
From (select e.t,e.id from ug.dbo.experime e join ug.dbo.model m on e.id=m.id and m.[check]> 0  Group by e.t,e.id) tt
 left join ug.dbo.experime m1 on tt.t=m1.t and m1.id=tt.id and m1.id= 1 
 left join ug.dbo.experime m2 on tt.t=m2.t and m2.id=tt.id and m2.id= 2 
 left join ug.dbo.experime m3 on tt.t=m3.t and m3.id=tt.id and m3.id= 3 
 left join ug.dbo.experime m4 on tt.t=m4.t and m4.id=tt.id and m4.id= 4 

GO


на аксессе переписал вот так:
Запрос CreateTableResult

Код: plaintext
1.
2.
3.
4.
5.
Create table result 
  (t float,cu1_y1 float,cu1_y2 float,cu1_y3 float,
           cu2_y1 float,cu2_y2 float,cu2_y3 float,
    cu3_y1 float,cu3_y2 float,cu3_y3 float,
    cu4_y1 float,cu4_y2 float,cu4_y3 float) 

TempQuery
Код: plaintext
1.
2.
3.
4.
SELECT experiment.t, experiment.id, model.check
FROM experiment LEFT JOIN model ON experiment.id = model.id
WHERE model.check=True
ORDER BY experiment.t, experiment.id;

Запрос InsertResult
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Insert into result  
    (id,t, 
    cu1_y1, cu1_y2, cu1_y3,
    cu2_y1, cu2_y2, cu2_y3,
    cu3_y1, cu3_y2, cu3_y3,
    cu4_y1, cu4_y2, cu4_y3)
Select  tt.id,tt.t,
    m1.y1,m1.y2, m1.y3,
    m2.y1,m2.y2, m2.y3,
    m3.y1,m3.y2, m3.y3,
    m4.y1,m4.y2, m4.y3
From TempQuery, tt <- нужна ли запятая
 left join experiment m1 on tt.t=m1.t and m1.id=tt.id and m1.id= 1  <- что это такое
 left join experiment m2 on tt.t=m2.t and m2.id=tt.id and m2.id= 2 
 left join experiment m3 on tt.t=m3.t and m3.id=tt.id and m3.id= 3 
 left join experiment m4 on tt.t=m4.t and m4.id=tt.id and m4.id= 4 

можно ли конструкцию левого объединения как-то упросить через временные запросы?
хоть тресни, только вот получается, но не могу понять почему
компилятор ругается на на третье условие при объдинении, например, на m1.id=1,
почему тут стоит единица,
у меня в таблице experiment id=1 отсутствовать (быть удаленным).
пробывал подставлять 10 (она точно есть в базе), таже песня...

Сколько не пробывал не получается у меня перекрестной итоговой таблицы, получаестя только
последовательная таблица, как будто я выбрал только записи из experiment, для которых в model
check=true
вот еще что при создании таблицы resul есть поле id, а при записи нет?
...
Рейтинг: 0 / 0
как переписать с MS SQL Server на Access97
    #32473860
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем на Access переводить?
Обычно заморачиваются в точности наоборот.
...
Рейтинг: 0 / 0
как переписать с MS SQL Server на Access97
    #32474141
big-spoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я не ошибся, именно в таком направлении нужно...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как переписать с MS SQL Server на Access97
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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