Текущий архив: 2008.12.07;
Скачать: CL | DM;
Вниз
Запрос - Данные из одной таблицы , совместить как из разных табли Найти похожие ветки
← →
TNT (2008-10-06 15:14) [0]Таблица :
Kod1 Nc1 Dat1 Nd1 S1 Nc2 Dat2 Nd2 S2
1 10 01.01.2000 73 200 100 01.02.2000 756 1000
2 15 01.05.2003 750 2500 102 01.06.2003 73 2000
3 20 20.05.2003 73 1500 102|1 01.02.2004 750 200
4 22 25.06.2004 219 2000 11|10 01.07.2004 29|1 3500
5 25 01.01.2006 73 3200 20 01.01.2006 73 1100
6 30 01.01.2007 73 2000 202 01.01.2007 73 2200
7 305 01.05.2007 73 4800
8 310 20.06.2007 73 3250
9 2|1a 25.06.2007 73 12050
10 22a 01.07.2007 73 5000
Запрос :
SELECT OT.KOD,OT.Nс1,OT.DAT1,OT.Nd1,OT.DATd1,OT.S1,Nc2,POL.DAT2,POL.Nd2,POL.DATd2,POL.S 2
FROM akt OT, akt POl
where (OT.nd1 = 73) and (OT.dat1 between ’01.001.2003’ and 01.01.2008’)
and (POL.nd2 = OT.nd1) and (POL.dat2 between’01.001.2003’ and 01.01.2008’ )
В результате запроса данные дублируются . Подскажите как избавиться от дублирования данных .
Результат таблицы должен быть таким :
Nc1 Dat1 Nd1 S1 Nc2 Dat2 Nd2 S2
20 20.05.2003 73 1500 102 01.06.2003 73 2000
25 01.01.2006 73 3200 20 01.01.2006 73 1100
30 01.01.2007 73 2000 202 01.01.2007 73 2200
305 01.05.2007 73 4800
310 20.06.2007 73 3250
21a 25.06.2007 73 12050
22a 01.07.2007 73 5000
Всем спасибо.
← →
TNT (2008-10-06 15:18) [1]Из таблицы необходимо выбрать данные для ND1 = 73 , ND2 = 73 и период : 01.01.2003 - 01.01.2008
← →
ANB (2008-10-06 15:19) [2]Что в таблице лежит и что надо вытащить ?
По русски, пожалуйста. А то, что структура, что запрос - очень непонятные.
Ну и, судя по всему, хранение данных надо было продумать раньше, чем данные туда засовывать.
← →
ANB (2008-10-06 15:31) [3]
> TNT (06.10.08 15:18) [1]
> Из таблицы необходимо выбрать данные для ND1 = 73 , ND2
> = 73 и период : 01.01.2003 - 01.01.2008
SELECT OT.* FROM akt OT
where OT.nd1 = 73 and OT.dat1 between ’01.001.2003’ and 01.01.2008’
union all
SELECT OT.* FROM akt OT
where OT.nd2 = 73 and OT.dat1 between ’01.001.2003’ and 01.01.2008’
или
SELECT OT.* FROM akt OT
where OT.nd1 = 73 and OT.nd2 = 73 and OT.dat1 between ’01.001.2003’ and 01.01.2008’
в зависимости от того - чего надо то
← →
Vlad Oshin © (2008-10-06 15:32) [4]
> akt OT, akt POl
зачем вообще
одной таблицы не хватит?
Страницы: 1 вся ветка
Текущий архив: 2008.12.07;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.015 c