|
|
|
Select один к одному
|
|||
|---|---|---|---|
|
#18+
Есть таблица A Id, pole_a B ID, pole_b Каждой записи ID в таблице A соответствуют неск. записей ID в таблице B Мне нужно написать запрос по сути отражающий связь 1 к 1, т.е чтобы 1 записи таблицы A соответствовала 1 записи таблицы B (не важно какая) Я сделал вот так Код: plaintext Но можно ли это сделать одним запросом без вложенных ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 16:39 |
|
||
|
Select один к одному
|
|||
|---|---|---|---|
|
#18+
И чем же вложенный запрос ко двору не пришелся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 16:44 |
|
||
|
Select один к одному
|
|||
|---|---|---|---|
|
#18+
JoseЯ сделал вот так Код: plaintext Попробуй так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 16:48 |
|
||
|
Select один к одному
|
|||
|---|---|---|---|
|
#18+
проходящий.И чем же вложенный запрос ко двору не пришелся? Вложенный запрос накладывает дополнительную тормознутость, если учесть, что в запросе может учавствовать не 2 таблицы а хотя бы 5, и записей в каждой...о-го-го!!! Если знаешь как - подскажи )) Dima T У тебя вообще неправильный запрос, если ответ совпал с ожидаемым - случайность, т.к. на всю выборку B.pole_b должно иметь одно и тоже значение, т.к. таблицы B нет во from Проверял? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 17:10 |
|
||
|
Select один к одному
|
|||
|---|---|---|---|
|
#18+
Обычно запросы с IN (select ...) хорошо разворачиваются в обычный left join Код: plaintext Но я не уверен в DISTINCT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 17:18 |
|
||
|
Select один к одному
|
|||
|---|---|---|---|
|
#18+
Если есть необходимость выбирать _любую_ запись из B, добавь туда поле, например, NOMER типа INT, залей туда номер строки (REPLACE ALL имя_поля WITH RECNO()). Ну и теперь при выборке группируешь и отбираешь по нему MAX или MIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 08:32 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34620752&tid=1589093]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 315ms |

| 0 / 0 |
