Mam problem z zadeklarowaniem zmiennych w zapytaniu.
Mam zapytanie wyciągające ważne dla mnie dane zapisane w postaci XML
DECLARE @x XML, @z int
set @z = 1001
SELECT @x = (SELECT CAST(kolumnaxml as XML) FROM xxx where xxx.id = @z FOR XML AUTO)
select x.id, x.ONS, x.Direction
from (SELECT
T.c.value('@OrderNumberSequence', 'varchar(10)') ONS,
T.c.value('@Direction', 'varchar(10)') Direction,
TP.c.value('@PDID','varchar(10)') id
FROM @x.nodes('/xxx/TP1') T(c)
outer apply T.c.nodes('/xxx/TP2') TP(c)
) as X
w wyniku otrzymuję tabelkę następującej postaci np
| ID | ONS | Direction |
|---|---|---|
| 1001 | 1-1 | abc |
| 1001 | 1-2 | def |
| 1001 | 1-9 | xyz |
następnie mam zapytanie Select które pobiera dane z kilku różnych tabel - połączenia za pomocą left join, która daje wynik w postaci
Tabela 1
| Kolumna1 | Kolumna2 | Kolumna3 | id | on |
|---|---|---|---|---|
| 1 | a | tekst1 | 1001 | 1-1 |
| 2 | b | tekst2 | 1001 | 1-2 |
| 3 | c | tekst3 | 1002 | 1-1 |
| 4 | d | tekst4 | 1003 | 1-1 |
| 5 | e | tekst5 | 1010 | 1-1 |
Potrzebuję napisać złączenie dopisujące mi do tabeli 1 Kolumnę Direction z uwzględnieniem id=ID i on=ONS
Nie umiem zadeklarować zmiennej z tak aby ona pobierała id z tabeli 1
set @z = tabela1.id
Podane tabele i zapytania uprościłem, gdyż wyniki otrzymywanie są w dziesiątkach wierszy i kolumn, ale mam nadzieję że ktoś zrozumie o co mi chodzi
