powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / SQL Select
6 сообщений из 6, страница 1 из 1
SQL Select
    #33911575
SvetaSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буду очень благодарна если кто-то может помочь с Query...

задача такая,
ех.
John Smith
1
а
б
с
2
а
б
с
3
а
б
с

John в организационнои структуре предприятия имеет под собой 3 работника ( 1,2,3). 1,2,3 имеут под собой а,б,с.

Мне нужна Query to Select all under John Smith (вклучая 1,2,3 и все а,б,с).
Так что мой селект даст 12 records в этом примере.

Спасибо за помощь.скажите если вопрос не понятен, я поясню.
...
Рейтинг: 0 / 0
SQL Select
    #33911582
SvetaSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vot chto ia imeu, na sei moment...

SELECT

employee_data_a.oid
approver_name = Employee_data_b.Last_name + " " + EMployee_data_b.first_name,
employee_name = Employee_data_a.Last_name + " " + Employee_data_a.first_name
FROM timecard_approval,
Employee_data Employee_data_a,
Employee_data Employee_data_b
WHERE ( timecard_approval.Employee_Oid *= Employee_data_a.oid ) and
( timecard_approval.Approver_oid *= Employee_data_b.oid )
and
timecard_approval.Type_Sym like 'timecard_approv%'
and timecard_approval.approver_oid = 1564
Order by Approver_name asc, employee_name asc
;
...
Рейтинг: 0 / 0
SQL Select
    #33911585
SvetaSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nuzhno dobavit' k etomu records
gde approver_oid = employee_oid from this query.

Ia nikak ne mogu sostavit' eto, logicheski ponimau, a sintax nikak ...

Spasibo esche raz
...
Рейтинг: 0 / 0
SQL Select
    #33911593
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такую задачу лучше решать следующим образом: в таблице с этими самыми джонами наверняка есть первичный ключ, напр. id_person, и, ОБЯЗАТЕЛЬНО, необходимо сделать ещё одно поле, напр. id_person_parent, в котором хранить первичный ключ предка. Тогда Ваша задача решается в полтычка через connect by в select'e ( ORACLE ).

name id_person id_person_parent
jonn a. 1 null
paul a. 2 1
samanta b. 3 2
john w. 4 2
...
...
Рейтинг: 0 / 0
SQL Select
    #33911867
SvetaSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Problema v tom chto, tree vinimaetsia is odnoi table, a mne nuzhno is 2x raznix, podskazhite chto ia delau ne tak...

DECLARE @oid int,
@node int

Declare @CurRow int
Declare @RowCount int
Declare @CurOid int


Select @CurRow = 1

/* Creating temporary table for tree storage*/


/* Inserting starting node into the temp table*/
SELECT timecard_approval.employee_oid

into #temp
FROM timecard_approval,
Employee_data Employee_data_a,
Employee_data Employee_data_b
WHERE ( timecard_approval.Employee_Oid *= Employee_data_a.oid ) and
( timecard_approval.Approver_oid *= Employee_data_b.oid )
and
timecard_approval.Type_Sym like 'timecard_approv%'
and timecard_approval.approver_oid = @oid

/* mne kazhetsia problema sdes' no v chem?????*/
Select @RowCount = @@RowCount
DECLARE wCursor Cursor For -- Creates Cursor for Temp Table
Select employee_oid
From #Temp Order By employee_oid ASC

OPEN wCursor

While @CurRow <= @RowCount
BEGIN
FETCH FROM wCursor INTO @CurOid

Insert into #Temp (employee_oid)
Select oid from employee_data where supervisor_oid = @CurOID

SELECT @CurRow = @CurRow + 1
END


Select * From #Temp Order by employee_oid

CLOSE wCursor
DEALLOCATE wCursor

/*#######*/
DROP TABLE #temp
;

spasibo ogromnoe za pomosch.

Sveta
...
Рейтинг: 0 / 0
SQL Select
    #33916275
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
if object_id( 'tempdb..#t') is not null drop table #t

select 'John Smith' as id, '0' as parent_id into #t
union all select '1', 'John Smith'
union all select 'а1', '1'
union all select 'б1', '1'
union all select 'с1', '1'
union all select '2', 'John Smith'
union all select 'а2', '2'
union all select 'б2', '2'
union all select 'с2', '2'
union all select '3', 'John Smith'
union all select 'а3', '3'
union all select 'б3', '3'
union all select 'с3', '3'
union all select 'Bill',  '0' as parent_id
union all select '1B', 'Bill'
union all select 'а1B', '1B'

select #t.id  , parent_id
from #t 
where #t.parent_id= 'John Smith'
	or
	#t.parent_id in(select t2.id 
			from #t as t1 
			join #t as t2 on t2.parent_id= t1.id 
			where t1.id= 'John Smith'
 			)
id 1а1б1с12а2б2с23а3б3с3
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / SQL Select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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