Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / помогите с запросом / 6 сообщений из 6, страница 1 из 1
27.12.2013, 11:44
    #38514029
OpLpEpG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
Есть таблицы в которых возможны пропуски увеличивающегося id:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE  a ( id  INTEGER PRIMARY KEY);
CREATE TABLE  b ( id  INTEGER PRIMARY KEY);
insert into a values ( 1);
insert into a values ( 2);
insert into a values ( 4);
insert into a values ( 5);
insert into a values ( 7);

insert into b values ( 1);
insert into b values ( 2);
insert into b values ( 4);
insert into b values ( 5);
insert into b values ( 6);


Необходиммо создать таблицу со всеми id без пропусков:
ID a.idb.id1112223NULL NULL4445556 NULL677 NULL
Видимо нужно что-то подобное
Код: sql
1.
2.
3.
SELECT ID, a.id, b.id  FROM  (????CREATE  TEMPORARY TABLE FOR ALL ID ????)  
   LEFT OUTER JOIN a ON a.id = ID
   LEFT OUTER JOIN b ON b.id = ID
...
Рейтинг: 0 / 0
27.12.2013, 14:03
    #38514239
OpLpEpG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
OpLpEpGЕсть таблицы в которых возможны пропуски увеличивающегося id:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE  a ( id  INTEGER PRIMARY KEY);
CREATE TABLE  b ( id  INTEGER PRIMARY KEY);
insert into a values ( 1);
insert into a values ( 2);
insert into a values ( 4);
insert into a values ( 5);
insert into a values ( 7);

insert into b values ( 1);
insert into b values ( 2);
insert into b values ( 4);
insert into b values ( 5);
insert into b values ( 6);


Необходиммо создать запрос со всеми id без пропусков:
ID a.idb.id1112223NULL NULL4445556 NULL677 NULL
Видимо нужно что-то подобное
Код: sql
1.
2.
3.
SELECT ID, a.id, b.id  FROM  (????CREATE  TEMPORARY TABLE FOR ALL ID ????)  
   LEFT OUTER JOIN a ON a.id = ID
   LEFT OUTER JOIN b ON b.id = ID
...
Рейтинг: 0 / 0
10.01.2014, 18:06
    #38522370
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
Что-то такое:
Код: sql
1.
2.
SELECT a.id, b.id  FROM a, b
WHERE a.id=b.id


Результат должен быть такой:
a.id b.id1 12 24 45 5

П.С. Не проверял ...
...
Рейтинг: 0 / 0
13.01.2014, 06:15
    #38523820
OpLpEpG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
potkin, необходим результат без пропусков ID:

ID a.idb.id1112223NULL NULL4445556 NULL677 NULL
...
Рейтинг: 0 / 0
13.01.2014, 11:10
    #38523965
помогите с запросом
OpLpEpG,

обычно, СУБД работают с данными, а не с их отсутствием. Если нужны пропуски, то сначала нужно сгенерировать каким-то образом отсутствующие данные, чтобы СУБД могла их выгрузить. Как вариант - получить значения начала пропуска и конца пропуска. Далее - генерировать набор данных в заданном диапазоне и джойнить к имеющимся в наличии ID
...
Рейтинг: 0 / 0
13.01.2014, 16:46
    #38524718
OpLpEpG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом
Добрый Э - Эх, работаю на Delphi XE5 FireDAC сделал виртуальную таблицу для ID на основе заготовок FireDAC. Все как-то очень сложно.
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / помогите с запросом / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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