powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / разьясните......
13 сообщений из 13, страница 1 из 1
разьясните......
    #34451433
konkurent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть две таблицы дбф которые хотелось бы связать по полю типа чар но в этом поле первый симовл данных отличаеться, что-то вроде этого:
поле таблицы1 поле таблицы2
t_yur u_yur
t_ghj u_ghj
можно ли составить скл запрос таким опбразом чтобы он понимал что
t_yur=u_yur
t_ghj=u_ghj
заранее признателен за разьяснения
...
Рейтинг: 0 / 0
разьясните......
    #34451662
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пожалуйста, задайте вопрос корректно

имею
табл. tt
ff kk
1 2
2 3

табл. ее2
pp rr
3 1
4 5

хочу получить в результате
gg rr
1 2
...
...
Рейтинг: 0 / 0
разьясните......
    #34451681
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может Вам это нужно???

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
create cursor tt (tt i, value c( 10 ))
insert into tt values ( 1 , 'dff')
insert into tt values ( 2 , 'dcfff')

create cursor tt2 (tr i, value c( 10 ))
insert into tt2 values ( 1 , 'dftgtff')
insert into tt2 values ( 2 , 'eftggt4d')

=mySelect( 1 )
=mySelect( 2 )

function mySelect(tnId)
select tt as Id, value ;
	from tt ;
	where tt=tnId ;
union all ;	
select tr as Id, value ;
	from tt2 ;
	where tr=tnId
return .t.
...
Рейтинг: 0 / 0
разьясните......
    #34451682
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто мешает в условии ON команды SELECT - SQL исключить первые два символа.
Что-то типа:

SELECT * FROM таблицы1 t1 INNER JOIN таблицы2 t2
ON SUBSTR(t1.поле1,2) = SUBSTR(t2.поле1,2)

С уважением, Алексей
...
Рейтинг: 0 / 0
разьясните......
    #34454435
konkurent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для alex11100
прошу прощение что вы не поняли вопрос, в дальнейшем не повториться.
Aleksey-K
да именно этот ответ я и хотел получить.
(попробую...скажу результат, но боюсь Query этот запрос не поймёт).
...
Рейтинг: 0 / 0
разьясните......
    #34457969
konkurent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как и преполагалось в дельфи 6 в бде квери в скл запросе команда SUBSTR не поддерживаеться....Сожет как-то это дело можна обойти?????
...
Рейтинг: 0 / 0
разьясните......
    #34458034
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
konkurentкак и преполагалось в дельфи 6 в бде квери в скл запросе команда SUBSTR не поддерживаеться....Сожет как-то это дело можна обойти?????
Ну может там LEFT() поддерживается.
...
Рейтинг: 0 / 0
разьясните......
    #34460685
konkurent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смеяться нехарашо это не харашо...... может ты и помнящий, но ума это не добавляет...
...
Рейтинг: 0 / 0
разьясните......
    #34460701
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй написать так:

Код: plaintext
1.
SELECT t1.*,t2.* FROM таблицы1 t1, таблицы2 t2
WHERE SUBSTR(t1.поле1, 2 ) = SUBSTR(t2.поле1, 2 )

Смысл в том, что не всегда можно писать произвольные условия именно в условии объединения по INNER JOIN. Иногда проще перенести в WHERE.

Кроме того, в Delphi должна быть своя функция выделения фрагмента строки. Просто не может не быть. Посмотри в HELP.

Можно еще поискать вариант выделения фрагмента справа. Т.е. аналог функции RIGHT().
...
Рейтинг: 0 / 0
разьясните......
    #34467994
Konkurent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смысл в том, что не всегда можно писать произвольные условия именно в условии объединения по INNER JOIN. Иногда проще перенести в WHERE.
Да я вкурсе.... И более того :-( бдешное квери не поддерживает INNER JOIN.
Испотзовать АДО или другие методы не имеет смысла...
Кроме того, в Delphi должна быть своя функция выделения фрагмента строки
Так оно и есть.... Но смысл вопроса был в том чтобы сделать это одним скл запросом.
Команда SUBSTR - это именно скл-команда. Интересно как бедет выглядеть скл запрос с встроеными в него командами дельфи или паскаля??......
Скл запрос мне нужен был для быстрого обьединения таблиц дбф по задным параметрам.
Перебирать записи и сравнивать их получаеться довольно долго.....
Ну чтож если нет ответа здесь.... Значит его нет?.
...
Рейтинг: 0 / 0
разьясните......
    #34467996
Konkurent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смысл в том, что не всегда можно писать произвольные условия именно в условии объединения по INNER JOIN. Иногда проще перенести в WHERE.
Да я вкурсе.... И более того :-( бдешное квери не поддерживает INNER JOIN.
Испотзовать АДО или другие методы не имеет смысла...
Кроме того, в Delphi должна быть своя функция выделения фрагмента строки
Так оно и есть.... Но смысл вопроса был в том чтобы сделать это одним скл запросом.
Команда SUBSTR - это именно скл-команда. Интересно как бедет выглядеть скл запрос с встроеными в него командами дельфи или паскаля??......
Скл запрос мне нужен был для быстрого обьединения таблиц дбф по задным параметрам.
Перебирать записи и сравнивать их получаеться довольно долго.....
Ну чтож если нет ответа здесь.... Значит его нет?.
...
Рейтинг: 0 / 0
разьясните......
    #34468030
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SUBSTR() - это НЕ команда SQL. Точнее, это не команда стандарта ANSI-SQL. Это как раз команда того языка программирования, в который Вы посылаете подобный запрос.

Для FoxPro или MS SQL здесь вопросов нет. Они допускают использование внутренних функций (в смысле, функций своей среды) в синаксисе команд Select-SQL. А вот допускает ли то же самое BDE - я не в курсе. Надо пробовать.
...
Рейтинг: 0 / 0
разьясните......
    #34469382
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А допускает ли дельфи работать с источником данных OLE DB по сквозному запросу?
Если да, то можно использовать и функции VFP.
С уважением, Алексей
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / разьясните......
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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