Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как переписать с MS SQL Server на Access97 / 3 сообщений из 3, страница 1 из 1
08.04.2004, 13:22
    #32473579
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как переписать с MS SQL Server на Access97
от предшественника достался код на 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
08.04.2004, 14:57
    #32473860
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как переписать с MS SQL Server на Access97
А зачем на Access переводить?
Обычно заморачиваются в точности наоборот.
...
Рейтинг: 0 / 0
08.04.2004, 17:01
    #32474141
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как переписать с MS SQL Server на Access97
я не ошибся, именно в таком направлении нужно...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как переписать с MS SQL Server на Access97 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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