|
|
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
Добрый день, столкнулся с проблемой выборки данных подзапросом есть табличка: kross с курсами val валют red на дату date и есть табличка с операциями: op_z - где указана сумма val и есть ссылка на валюту red . Т.е. на каждую операцию необходимо вытащить курс только на эту дату. Как бы я сделал, в MSSQL, чтобы сделать выборку: Код: plaintext 1. 2. Но это не прокатывает в MySql, буду признателен, если кто подскажет решение проблемы. Версия mySql 4.0.21 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 19:58:04 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
В ветке 4.0 нету подзапросов. Перепишите запрос через джойн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 20:50:16 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
DocAlВ ветке 4.0 нету подзапросов. Перепишите запрос через джойн. Через Join не получится потому как мне нужна только одна запись из связываемой таблицы kross . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 10:59:57 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
sas13 DocAlВ ветке 4.0 нету подзапросов. Перепишите запрос через джойн. Через Join не получится потому как мне нужна только одна запись из связываемой таблицы kross .Очень даже получится. Ты хоть попробуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 11:08:58 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
Попробовал: Код: plaintext 1. 2. здесь выдается пересечение таблиц, как мне вытащить из таблицы kross только одну запись (если она есть)? какое условие еще надо добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 11:36:46 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
sas13Попробовал: ... здесь выдается пересечение таблиц, как мне вытащить из таблицы kross только одну запись (если она есть)? какое условие еще надо добавить? LIMIT ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 14:54:24 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
Berkut sas13Попробовал: ... здесь выдается пересечение таблиц, как мне вытащить из таблицы kross только одну запись (если она есть)? какое условие еще надо добавить? LIMIT ? LIMIT действует на всю выборку, а мне нужны все записи из таблицы op_z и по одной на каждую из таблицы kross ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:01:25 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. на вскидку, если че не так - сильно не бейте :) насчет оптимальности я конечно молчу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 23:43:44 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
дык подзапросы не катят :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 12:53:56 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
мля... был тут такой изврат: выбирается max(concat(date,k.val*0.00001)) и дальше из него на клиенте вытаскивается k.val. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:05:27 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
эээ... в оригинале были числа. Если строками, то можно и не умножать. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:08:16 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
Данную задачу без подзапросов не решить. На практике в 4.0 делалось 2 поля, начало и конец действия цены. При добавлении новой цены - отслеживались границы. Потом естественно достать последние цены было не проблема, в конец ставили 01.01.2500 года. второй вариант - поставить 4.1, а лучше 5.0 и написать через подзапрос, Если через ODBC - не проблема в принципе - только нужно set names=cp1251 указать, или какой там у вас чарсет данных в строке инициализации в ODBC... Выбирайте сами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:15:25 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
Часто встречаю подобный вопрос, и странно - тот кто проектирует табличку с интервальными значениями на 3.23 или 4.0 разве не пытается думать как он оттуда будет данные извлекать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:24:27 |
|
||
|
Подзапрос в выборке Select
|
|||
|---|---|---|---|
|
#18+
maXmoбыл тут такой изврат: выбирается max(concat(date,k.val*0.00001)) и дальше из него на клиенте вытаскивается k.val. интересный вариант, спасибо Валентин КДанную задачу без подзапросов не решить. На практике в 4.0 делалось 2 поля, начало и конец действия цены. При добавлении новой цены - отслеживались границы. Потом естественно достать последние цены было не проблема, в конец ставили 01.01.2500 года. К сожалению база разрабатывается не с нуля, и структура уже работает, разрабатывал не я :( Мне лишь надо доработать уже существующий вариант клиента. Валентин Квторой вариант - поставить 4.1, а лучше 5.0 и написать через подзапрос, Если через ODBC - не проблема в принципе - только нужно set names=cp1251 указать, или какой там у вас чарсет данных в строке инициализации в ODBC... да работа через ОDBC и ведется Валентин КЧасто встречаю подобный вопрос, и странно - тот кто проектирует табличку с интервальными значениями на 3.23 или 4.0 разве не пытается думать как он оттуда будет данные извлекать? Там вообще черт голову сломает что в этой стуктуре... :) поубывав бы.. (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 12:12:22 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33445172&tid=1853257]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 509ms |

| 0 / 0 |
