powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сделать код под формат Oracle c обычного sql
6 сообщений из 6, страница 1 из 1
Сделать код под формат Oracle c обычного sql
    #39967872
ПётрРедин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно поменять под формат Oracle запросы, можете кто помочь:
Код: sql
1.
2.
3.
SELECT Экспедиции.Код_экспедиции, Экспедиции.Дата_начала, Экспедиции.Код_геолога, Геологи.ФИО, Должности.Название_должности, Экспедиции.Цель_экспедиции, Страны.[Название страны]
FROM Должности INNER JOIN (Геологи INNER JOIN (Страны INNER JOIN (Регионы INNER JOIN Экспедиции ON Регионы.Код_региона = Экспедиции.Код_региона) ON Страны.Код_страны = Регионы.Код_страны) ON Геологи.Код_геолога = Экспедиции.Код_геолога) ON Должности.Код_должности = Геологи.Код_должности
WHERE (((Страны.[Название страны]) Like "Бел*"));



Код: sql
1.
2.
3.
SELECT Страны.[Название страны], Регионы.Название_региона, Карты.Дата_карты, Карты.Название_карты
FROM ((Страны LEFT JOIN Регионы ON Страны.Код_страны = Регионы.Код_страны) LEFT JOIN Экспедиции ON Регионы.Код_региона = Экспедиции.Код_региона) LEFT JOIN (Экспедиция_этапы LEFT JOIN Карты ON Экспедиция_этапы.Код_этапа = Карты.Код_этапа) ON Экспедиции.Код_экспедиции = Экспедиция_этапы.Код_экспедиции
WHERE (((Регионы.Название_региона) Like [сообщи регион] & "*") AND ((IsNull([Карты].[Название_карты]))=False));



Код: sql
1.
2.
3.
4.
SELECT Страны.[Название страны], Регионы.Название_региона, Sum(Карты.Протяжённость) AS [Sum-Протяжённость]
FROM (Страны LEFT JOIN (Регионы LEFT JOIN Экспедиции ON Регионы.Код_региона = Экспедиции.Код_региона) ON Страны.Код_страны = Регионы.Код_страны) LEFT JOIN (Экспедиция_этапы LEFT JOIN Карты ON Экспедиция_этапы.Код_этапа = Карты.Код_этапа) ON Экспедиции.Код_экспедиции = Экспедиция_этапы.Код_экспедиции
GROUP BY Страны.[Название страны], Регионы.Название_региона
HAVING (((Sum(Карты.Протяжённость))>0));


Объединение двух запросов:
Первый запрос Z1:
Код: sql
1.
2.
3.
SELECT Страны.[Название страны], Регионы.Название_региона, " Итого" AS Геолог, Count(Экспедиции.Код_экспедиции) AS [Count-Код_экспедиции]
FROM Страны LEFT JOIN (Регионы LEFT JOIN Экспедиции ON Регионы.Код_региона = Экспедиции.Код_региона) ON Страны.Код_страны = Регионы.Код_страны
GROUP BY Страны.[Название страны], Регионы.Название_региона;


Второй запрос Z2:
Код: sql
1.
2.
3.
SELECT Страны.[Название страны], Регионы.Название_региона, Геологи.ФИО, Count(Экспедиции.Код_экспедиции) AS [Count-Код_экспедиции]
FROM Геологи INNER JOIN (Страны INNER JOIN (Регионы INNER JOIN Экспедиции ON Регионы.Код_региона = Экспедиции.Код_региона) ON Страны.Код_страны = Регионы.Код_страны) ON Геологи.Код_геолога = Экспедиции.Код_геолога
GROUP BY Страны.[Название страны], Регионы.Название_региона, Геологи.ФИО;


Обьеденяющий запрос:
Код: sql
1.
2.
3.
4.
SELECT Z1.*
FROM Z1
UNION ALL Select * from Z2
ORDER BY 1, 2, 3;



Код: sql
1.
2.
3.
4.
5.
 TRANSFORM Count(Карты.Код_карты) AS [Count-Код_карты]
SELECT Регионы.Название_региона
FROM Регионы LEFT JOIN ((Экспедиции LEFT JOIN Экспедиция_этапы ON Экспедиции.Код_экспедиции = Экспедиция_этапы.Код_экспедиции) LEFT JOIN Карты ON Экспедиция_этапы.Код_этапа = Карты.Код_этапа) ON Регионы.Код_региона = Экспедиции.Код_региона
GROUP BY Регионы.Название_региона
PIVOT Карты.Дата_карты;
...
Рейтинг: 0 / 0
Сделать код под формат Oracle c обычного sql
    #39967898
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала,
1) замени [имя] на "имя" (oracle автоматом преобразует имена в верхний регистр и не учитывались пробелы, чтобы не было преобразования нужны "")
Кроме того, не понятно, как у Вас перенеслись названия объектов (нижний/верхний регистр)

2) замени like 'mask*' на 'mask%'


3) (isNull (var) = false) - преобразуются col IS NULL, col is not null

Пока думаю хватит

Ну и для тестирования
Сделай тестовые данные в виде with
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with tbl1(col1,col2,col3) as (
select 1,'name1',to_date('11.02.1921','DD.MM.YYYY') from dual union all
select 2,'name2',to_date('11.02.1922','DD.MM.YYYY') from dual union all
select 2,'name2',to_date('11.02.1922','DD.MM.YYYY') from dual
), tbl2(c1,c2) as (
select 1,'name1' from dual union all
select 2,'name2' from dual union all
select 2,'name2'  from dual
)

select col2 ... from tbl1, tbl2..





Для информации

Студентам, желающим помощи
HOWTO :: Как правильно задавать вопросы
Как мне оформить свое сообщение?


p.s. SQl Online Converter
...
Рейтинг: 0 / 0
Сделать код под формат Oracle c обычного sql
    #39968023
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поможем студенту, господа-товарищи.

Хватило терпения набить данные и сделать 1 запрос.
...
Рейтинг: 0 / 0
Сделать код под формат Oracle c обычного sql
    #39968034
Временно забаненный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПётрРедин,

Я не спец в TSQL, поэтому завис над этой конструкцией
Код: plsql
1.
2.
3.
...
WHERE (((Регионы.Название_региона) Like [сообщи регион] & "*" ) AND ...
...




Это какая база?
...
Рейтинг: 0 / 0
Сделать код под формат Oracle c обычного sql
    #39968038
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это Акцесс, "&" - конкатенация.
...
Рейтинг: 0 / 0
Сделать код под формат Oracle c обычного sql
    #39968039
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS Access ?


какие-то странные воспоминаю меня посещают
https://www.sql.ru/forum/1326192/perenos-bd-iz-access-v-oracle
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сделать код под формат Oracle c обычного sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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