|
|
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, работаю с fb не первый день, но как подступиться к проблеме не понимаю. В моем запросе требуется сделать двойную выборку одного и того же столбца таблицы, но в результате, чтобы этот столбец разбился на два. То есть: id num state val;152023.56;253045.56;352178.48; В результате выборки должно получиться: num val_state0 val_state1;52 23.5687.48;53 45.56 - Поясняю пример: требуется объединить строки с одинаковым num в одну строку, но чтобы val оказались в одной строке, по признаку state . На ум пришло два варианта: создать временный View, и в выборе осуществить присоединение по средствам join ; создать процедуру с похожим запросом, и также осуществить присоединение. Но оба варианта кажутся не изящными. Всем заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2014, 09:31:40 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Klavnik, case (), group by?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2014, 11:18:20 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Klavnik> требуется объединить строки с одинаковым /num/ в одну строку, но чтобы /val/ оказались в одной строке, по признаку /state/. Код: sql 1. 2. 3. 4. 5. 6. 7. -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2014, 11:22:28 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
СергейВП, ни разу не пользовался этими операторами :) Хорошо, попробую! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2014, 11:24:11 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Klavnik, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2014, 11:53:44 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
KlavnikВ результате выборки должно получиться: num val_state0 val_state1;52 23.5687.48;53 45.56 -а 87.48 откуда взялись? и почему для num=53 в val_state1 стоит прочерк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 10:21:03 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
roadsterа 87.48 откуда взялись? и почему для num=53 в val_state1 стоит прочерк? Телепатирую, что это 78.48 на самом деле zirra, забыл объявить t2, t3, t4 ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 10:45:25 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
roadster, в моем случае так может быть, поэтому заодно добавил такой случай в пример:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 10:56:32 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal, верно, опечатка налицо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 10:59:31 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
zirra, сообщаю: >multiple rows in singleton select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:02:42 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
СергейВП, ваше решение близко, но with я так понимаю используется в процедурах только, а у меня запрос без процедуры. Попытался адаптировать, получился такой запрос, результату которому не хватает только группировки. SELECT T.NUM, CASE T.STATE WHEN 0 THEN T.VAL ELSE '-' END AS VAL_STATE_0, CASE T.STATE WHEN 1 THEN T.VAL ELSE '-' END AS VAL_STATE_1 FROM TBL T WHERE T.STATE= 0 OR T.STATE= 1 Группировку не получается сделать, хотя агрегаты применял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:12:00 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, в теги забыл вставить код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:15:44 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Klavnik, WITH прекрасно работает без процедур. Озвучте версию FB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:17:05 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, версия 2.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:21:48 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Klavnik, там ещё не было WITH. Запрос Сергея ВП мжно переписать так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Правильно ли он работает не смотрел, да и не думал об этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:28:20 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, неправильно выводит, но идею понял! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 11:37:43 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, опечатка небольшая была в одном символе. Всем спасибо за содействие, проблема решена! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 12:39:00 |
|
||
|
Двойная выборка одного столбца
|
|||
|---|---|---|---|
|
#18+
Klavnik> zirra, сообщаю: >>multiple rows in singleton select По выданным мне данным - всё работает правильно... :D -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 12:42:40 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38676919&tid=1563504]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
6ms |
get forum data: |
6ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 485ms |

| 0 / 0 |
