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

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

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

хочу получить в результате
gg rr
1 2
...
...
Рейтинг: 0 / 0
11.04.2007, 09:14
    #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
11.04.2007, 09:14
    #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
11.04.2007, 22:39
    #34454435
konkurent
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
для alex11100
прошу прощение что вы не поняли вопрос, в дальнейшем не повториться.
Aleksey-K
да именно этот ответ я и хотел получить.
(попробую...скажу результат, но боюсь Query этот запрос не поймёт).
...
Рейтинг: 0 / 0
13.04.2007, 08:05
    #34457969
konkurent
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
как и преполагалось в дельфи 6 в бде квери в скл запросе команда SUBSTR не поддерживаеться....Сожет как-то это дело можна обойти?????
...
Рейтинг: 0 / 0
13.04.2007, 08:52
    #34458034
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
konkurentкак и преполагалось в дельфи 6 в бде квери в скл запросе команда SUBSTR не поддерживаеться....Сожет как-то это дело можна обойти?????
Ну может там LEFT() поддерживается.
...
Рейтинг: 0 / 0
13.04.2007, 23:38
    #34460685
konkurent
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
смеяться нехарашо это не харашо...... может ты и помнящий, но ума это не добавляет...
...
Рейтинг: 0 / 0
13.04.2007, 23:55
    #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
17.04.2007, 23:07
    #34467994
Konkurent
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
Смысл в том, что не всегда можно писать произвольные условия именно в условии объединения по INNER JOIN. Иногда проще перенести в WHERE.
Да я вкурсе.... И более того :-( бдешное квери не поддерживает INNER JOIN.
Испотзовать АДО или другие методы не имеет смысла...
Кроме того, в Delphi должна быть своя функция выделения фрагмента строки
Так оно и есть.... Но смысл вопроса был в том чтобы сделать это одним скл запросом.
Команда SUBSTR - это именно скл-команда. Интересно как бедет выглядеть скл запрос с встроеными в него командами дельфи или паскаля??......
Скл запрос мне нужен был для быстрого обьединения таблиц дбф по задным параметрам.
Перебирать записи и сравнивать их получаеться довольно долго.....
Ну чтож если нет ответа здесь.... Значит его нет?.
...
Рейтинг: 0 / 0
17.04.2007, 23:08
    #34467996
Konkurent
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
Смысл в том, что не всегда можно писать произвольные условия именно в условии объединения по INNER JOIN. Иногда проще перенести в WHERE.
Да я вкурсе.... И более того :-( бдешное квери не поддерживает INNER JOIN.
Испотзовать АДО или другие методы не имеет смысла...
Кроме того, в Delphi должна быть своя функция выделения фрагмента строки
Так оно и есть.... Но смысл вопроса был в том чтобы сделать это одним скл запросом.
Команда SUBSTR - это именно скл-команда. Интересно как бедет выглядеть скл запрос с встроеными в него командами дельфи или паскаля??......
Скл запрос мне нужен был для быстрого обьединения таблиц дбф по задным параметрам.
Перебирать записи и сравнивать их получаеться довольно долго.....
Ну чтож если нет ответа здесь.... Значит его нет?.
...
Рейтинг: 0 / 0
17.04.2007, 23:44
    #34468030
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разьясните......
SUBSTR() - это НЕ команда SQL. Точнее, это не команда стандарта ANSI-SQL. Это как раз команда того языка программирования, в который Вы посылаете подобный запрос.

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


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