Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Связка двух таблиц по столбцу с разными тип данных .. / 8 сообщений из 8, страница 1 из 1
19.10.2017, 12:20
    #39538614
proxy_911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
Добрый день коллеги, прощу помочь задачу..

Есть таблица CITIES в нем есть поля CIT_ID NUMBER; со значениям

CIT_ID
1
2
3
4

И ещё есть таблица REGIONS в нем есть поля CIT_CIT_ID VARCHAR2(100); со значениям

CIT_CIT_ID
1,2
3,4

Не подскажите как мне связать эти две столбцы CIT_ID = CIT_CIT_ID?

Напишу так но не получается :
Код: plsql
1.
select * from CITIES C  where C.CIT_ID IN (select R.CIT_CIT_ID from REGIONS R) 



Не подскажите ещё какие варианты есть ?
...
Рейтинг: 0 / 0
19.10.2017, 12:30
    #39538629
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
1. Развернуть regions.CIT_CIT_ID в строки любым удобным способом, соединить
2. Присобачить к CIT_CIT_ID символы ',' слева и справа, соединять по instr(','||CIT_CIT_ID||',', to_char(CIT_ID,'fm9999990')) > 0 или по ','||CIT_CIT_ID||',' like '%,'||to_char(CIT_ID,'fm9999')||',%'
...
Рейтинг: 0 / 0
19.10.2017, 12:32
    #39538631
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
proxy_911Добрый день коллеги, прощу помочь задачу..

Есть таблица CITIES в нем есть поля CIT_ID NUMBER; со значениям

CIT_ID
1
2
3
4

И ещё есть таблица REGIONS в нем есть поля CIT_CIT_ID VARCHAR2(100); со значениям

CIT_CIT_ID
1,2
3,4

Не подскажите как мне связать эти две столбцы CIT_ID = CIT_CIT_ID?

Напишу так но не получается :
Код: plsql
1.
select * from CITIES C  where C.CIT_ID IN (select R.CIT_CIT_ID from REGIONS R) 



Не подскажите ещё какие варианты есть ?
Вариант 1
Код: plsql
1.
select C.* from CITIES C, REGIONS R  where  R.CIT_CIT_ID like '%'||TO_CHAR(C.CIT_ID)||'%'


Вариант 2
Код: plsql
1.
select C.* from CITIES C, REGIONS R  where  instr(R.CIT_CIT_ID, TO_CHAR(C.CIT_ID)) > 0
...
Рейтинг: 0 / 0
19.10.2017, 12:39
    #39538637
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
Fogel,

CIT_ID= 1

CIT_CIT_ID='21,12'

.....
stax
...
Рейтинг: 0 / 0
19.10.2017, 12:41
    #39538638
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
StaxFogel,

CIT_ID= 1

CIT_CIT_ID='21,12'

.....
stax
ну да, andrey_anonymous это предусмотрительно учёл
...
Рейтинг: 0 / 0
19.10.2017, 12:53
    #39538644
Vlas2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
Только тут тоже нужно добавить запятые:
andrey_anonymous...
2. Присобачить к CIT_CIT_ID символы ',' слева и справа, соединять по instr(','||CIT_CIT_ID||',', ','||to_char(CIT_ID,'fm9999990')||',') > 0 или по ','||CIT_CIT_ID||',' like '%,'||to_char(CIT_ID,'fm9999')||',%'
...
Рейтинг: 0 / 0
19.10.2017, 12:56
    #39538651
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
Vlas2,

очепятка

......
stax
...
Рейтинг: 0 / 0
23.10.2017, 09:09
    #39540247
proxy_911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка двух таблиц по столбцу с разными тип данных ..
Спасибо, коллеги получилось!!
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Связка двух таблиц по столбцу с разными тип данных .. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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