|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Код: plsql 1.
вот так у обоих столбцов названия есть Код: sql 1.
А вот так - уже внезапно нету. Почему, зачем? Навеяно: https://dbfiddle.uk/?rdbms=firebird_3.0&fiddle=a1d384c4c2775c35da08f71d593b22ad https://stackoverflow.com/questions/58226348/firebird-add-constant-to-returned-column-in-the-query/58235052 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 20:09 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Arioch, А что значит есть, и что значит нет? Самому бы было приятно, чтобы юзеры вот именно такой багрепорт прислали, чтобы лазить по ссылкам добывать информацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 20:49 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Vlad F, это не баг даже. Arioch, в первом примере столбцу далось автоматическое название. Собственно сервер свою работу сделал и ему плевать, пусть клиент мучается теперь с ним. Запрос верхнего уровня Во-втором с автоматическим названием потенциально мучится серверу, мало-ли по нему фильтр потребуется поставить, то есть сервак просто не думает как окончательно будет использоваться dt, но видит косячный столбец, надо ругнуться. Не знаю почему такие вопросы вообще возникают. Вроде всё интуитивно понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 20:55 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денис, А какая разница, пусть как минимум учится оформлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 21:10 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Vlad F, если ты не знаешь, что такое "есть" и что такое "нет", то объяснять тебе это надо с картинками, как в детском саду. Я - пас. И не путай трекер с форумом, хотя если ты "нет" от "есть" не отличаешь, то это наверное завышенное требование. Симонов Денис, нет, не понятно. Принципиальной разницы между запросами нет. > мало-ли по нему фильтр потребуется поставить 1. и где там фильтр в запросе ? Этак можно и деление на не-константу запретить превентивно, а то "мало ли потребуется" однажды на ноль поделить. 2. а что, фильтр возможен только во втором запросе быть, в первом запросе WHERE вставить нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:01 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Arioch, успокойся уже. Запросы в FB не на столько глубоко анализируются. Принципиально это возможно, и даже сделать к нему query rewrite, но пока нет. Тут более простая схема засунул запрос в derived table, значит все поля должны быть с однозначными именами. Требовать более глубокого анализа смысла нет, если только реально не будут делать query rewrite ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:20 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денис, в каком смысле "однозначными" и в каком они сейчас "неоднозначные" ? не нужно там query rewrite, нyжно просто "alias" скопировать на уровень вверх ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:55 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Arioch, в таком. Если я напишу Код: sql 1.
какие автоматические алиасы будут? Не надо запихивать искусственный интеллект куда не требуется прогибаться под нубов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:58 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Какие-нибудь да будут. И эта "проблема" - она одинаковая для обоих запросов, что с DT что без DT ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:00 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Arioch, да, да. Добавляем неочевидное поведение. Сначала позволяем твою хрень, потом можно писать вот так Код: sql 1. 2. 3.
Да именно такой алиас выдан автоматически! Ну его нах ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:05 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денисможно писать вот так а это уже твои домыслы, и они противоречат моим Ariochа что, фильтр возможен только во втором запросе быть, в первом запросе WHERE вставить нельзя? но даже если твои домыслы верны, то AriochЭтак можно и деление на не-константу запретить превентивно, а то "мало ли потребуется" однажды на ноль поделить. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:45 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Arioch, в твоей же логике, почему здесь можно, а здесь нельзя. Алиас же наружу пробросили ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:47 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денис, меня вполне устроит, чтобы "нигде нельзя" ну или чтобы "везде можно", тоже устроит, хотя и меньше я против "тут читаем, тут не читаем, тут рыбу заворачивали" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:06 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Arioch, Насчёт нигде нельзя в другие СУБД посмотри. Такой вопрос мог возникнуть только у тех кто вообще никогда не пользовался ни одной СУБД. Все остальные привыкли уже. Поведение примерно у всех одинаковое. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 14:24 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Любители "*" должны страдать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 18:49 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, кстати, в одной недавней базе. В процедуре запрос select * from ... into .... С момента создания этой процедуры в таблицу добавилось 3 столбца. Собственно, процедура работает, но не перекомпилируется. А могла бы, если вместо * столбцы были бы явно указаны. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 02:06 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyЛюбители "*" должны страдать. А вот есть запрос Код: sql 1. 2. 3. 4. 5. 6.
- на выходе два столбца: а и x Если от подзапроса нужно два поля, (x и y), то вот так нельзя: Код: sql 1. 2. 3. 4. 5.
- нужно подзапрос фактически повторять: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
- или как? В fb 2.0 вообще можно два поля из подзапроса вытянуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 03:35 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
ёёёёё Ivan_PisarevskyЛюбители "*" должны страдать. А вот есть запрос Код: sql 1. 2. 3. 4. 5. 6.
- на выходе два столбца: а и x Если от подзапроса нужно два поля, (x и y), то вот так нельзя: Код: sql 1. 2. 3. 4. 5.
- нужно подзапрос фактически повторять: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
- или как? В fb 2.0 вообще можно два поля из подзапроса вытянуть? Вот так можно: Код: sql 1. 2. 3. 4. 5.
Например Код: sql 1. 2. 3.
Как тут без "*" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 03:46 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
ёёёёё... Вот так можно: Код: sql 1. 2. 3. 4. 5.
... - попробовал - оказывается, в таком варианте, в "подзапросе" t2 нельзя указывать ничего, относящееся не к контексту t1. Т.е., вот так - можно: Код: sql 1. 2. 3. 4.
...а вот так - уже нельзя: Код: sql 1. 2. 3. 4.
Column unknown. T1.RDB$RELATION_ID. ЗЫ: пример я у MS SQL нашел... а у нас - не работает... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 04:30 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
ёёёёё, и не должно. Ждём LATERAL ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 07:01 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денис, ну, почти все можно обыграть с момента появления execute block, но ведь хочется "чистым sql". :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 07:22 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денис...Ждём LATERAL А это намечается? Даже в FB 4 нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 07:30 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
ёёёёё, согласно стандарту LATERAL позволяет вносить в derived table чужой контекст. Это как раз и будет "чистым SQL" И кстати позволить делать реально полезный штуки. Твой пример не удачный ибо всё можно сделать и без LATERAL. Вот пример вытащить несколько полей из сущности на последнюю дату Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 07:34 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
ёёёёё, у ДЕ есть наработки по LATERAL и ранее этот тикет планировался на 4.0. Но сейчас сняли, не понятно будет это или отложат до 5.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 07:37 |
|
derived table и "автоматические" заголовки столбцов
|
|||
---|---|---|---|
#18+
Симонов Денисёёёёё, у ДЕ есть наработки по LATERAL и ранее этот тикет планировался на 4.0. Но сейчас сняли, не понятно будет это или отложат до 5.0. А я очень ждал . Реально полезная штука! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 10:04 |
|
|
start [/forum/topic.php?fid=40&msg=39872561&tid=1560550]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 258ms |
0 / 0 |