|
|
|
CROSS APPLY в Firebird
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, подскажите пожалуйста аналог CROSS APPLY в Firebird. Есть основная таблица TABLE_PK и связанная с ней TABLE_FK (связь один ко многим). Как в таблицу TABLE_PK добавить дополнительное поле, в котором через разделитель будут выводиться значения выбранного поля из таблицы TABLE_FK? В MS SQL это реализуется так: SELECT tp.ID, tp.NAME, tk.NAMES FROM TABLE_PK tp CROSS APPLY ( SELECT e.[Name] + ', ' FROM TABLE_FK tk WHERE tp.ID=tk.TABLE_PK_ID FOR XML PATH('')) AS tk([NAMES]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 14:04 |
|
||
|
CROSS APPLY в Firebird
|
|||
|---|---|---|---|
|
#18+
lynatik50В MS SQL это реализуется так: Код: plaintext 1. 2. 3. 4. 5. Код: sql 1. 2. 3. Или вот эдак (если из подчинённой таблицы надо только одно поле вытащить, пусть и собранное в список): Код: sql 1. 2. Но как такового cross apply в ФБ - нету. И это печалит, кстати, ибо полезная штука. PS. Откудова взялся алиас 'e.' в вашем примере ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 14:13 |
|
||
|
CROSS APPLY в Firebird
|
|||
|---|---|---|---|
|
#18+
lynatik50Как в таблицу TABLE_PK добавить дополнительное поле, в котором через разделитель будут выводиться значения выбранного поля из таблицы TABLE_FK?LIST, JOIN, GROUP BY lynatik50В MS SQL это реализуется так:Нет, это не даст то, что ты выше хочешь. PS CROSS APPLY отличается от INNER JOIN только тем, что позволяет в правой части кореллированный подзапрос, т.е. разрешает ссылаться на внешние таблицы. Это не есть необходимое требование в случае, описанном выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 14:17 |
|
||
|
CROSS APPLY в Firebird
|
|||
|---|---|---|---|
|
#18+
Таблоид, Большое спасибо, все работает! PS. С алиасом ошибочка вышла, опечатался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 14:22 |
|
||
|
CROSS APPLY в Firebird
|
|||
|---|---|---|---|
|
#18+
кстати в стандарте CROSS APPLY нету, но есть LATERAL JOIN (это тоже самое насколько я понял). И это уже есть в трекере CORE-3435 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 10:15 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38751217&tid=1563342]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 496ms |

| 0 / 0 |
