|
|
|
Хитрый, запрос с JOIN - не пойму почему работает?
|
|||
|---|---|---|---|
|
#18+
Есть запрос, который успешно работает, но по моей логике абсолютно не должен :) Объясните пожалуйста суть прикола. Вот собственно запрос, который пишет в ячейку таблицы #Result фразу, которая измымется из таблицы Phrases. Все таблицы многострочные, обновляется, как и требуется, только одна строка. Механизм этого чуда абсолютно не ясен =Ж%-) ----------- Запрос ----------- UPDATE #Results SET Eyecolor = cl.Phraze FROM #Results JOIN Phrases cl ON cl.PhraseID = #Results.EyeID AND cl.LangID = @LangID ----------- Запрос ----------- Просветите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 15:06:21 |
|
||
|
Хитрый, запрос с JOIN - не пойму почему работает?
|
|||
|---|---|---|---|
|
#18+
так что не понятно-то?... по моему все ок!... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 15:11:57 |
|
||
|
Хитрый, запрос с JOIN - не пойму почему работает?
|
|||
|---|---|---|---|
|
#18+
Даже если одной записи в #Result соотвествует несколько записей Phrases обновление все равно произойдет. А вот из какой записи в Phrases будет взято значение для #Result будет зависить от версии сервера (может из первой, а может из последней, а может еще из какой) В BOL прямо так и сказано "The results of an UPDATE statement are undefined if the statement includes a FROM clause that is not specified in such a way that only one value is available for each column occurrence that is updated (in other words, if the UPDATE statement is not deterministic)." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 15:18:09 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1821541]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 322ms |

| 0 / 0 |
