
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.08.2015, 17:15:44
|
|||
|---|---|---|---|
|
|||
Помогите разобраться с вложенным SELECT`ом |
|||
|
#18+
Есть три таблицы(не связанных друг с другом) и запрос к ним: SELECT * FROM table1 WHERE table1.id IN ( SELECT subItemID FROM table2 WHERE table2.itemID = ( SELECT id FROM table3 WHERE table3.col1 = 89596846 ) ); таблица 3: idcol17441489596846 таблица 2: iditemIDsubItemIDsubItemIndex 393053744143930530 393054744143930541 393055744143930552 393056744143930563 393057744143930534 т.е. в таблице 2 при одинаковом itemID некоторые значения поля subItemID будут повторяться(в примере 0-ай и 4-ай запись). Если ограничится вложенными запросами: SELECT subItemID FROM table2 WHERE table2.itemID = ( SELECT id FROM table3 WHERE table3.col1 = 89596846 ) то все корректно работает,- выводятся все 5-ть записей. А вот внешний запрос "SELECT * FROM table1 WHERE table1.id IN" отбрасываем повторяющиеся записи. Выводит всего 4 штуки. Вопрос: как добиться вывода внешним запросом все записей(как уникальных так и повторяющихся) сортированных по полю subItemIndex второй таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.08.2015, 18:46:54
|
|||
|---|---|---|---|
Помогите разобраться с вложенным SELECT`ом |
|||
|
#18+
А зачем тут WHERE ... IN, когда вроде бы можно обойтись вульгарным Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.08.2015, 20:30:15
|
|||
|---|---|---|---|
|
|||
Помогите разобраться с вложенным SELECT`ом |
|||
|
#18+
Спасибо! Обойтись действительно можно. А вообще? существует какая-то возможность отключить(обойти) эту оптимизацию при использовании WHERE... IN (SELECT.....) в мускуле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.08.2015, 21:01:09
|
|||
|---|---|---|---|
Помогите разобраться с вложенным SELECT`ом |
|||
|
#18+
А где ты тут нашёл "оптимизацию"? Если составленный тобой запрос НЕ соответствует требующейся тебе логике, то виноват именно ты, а не мнимая "оптимизация". KOV85Если ограничится вложенными запросами: Код: sql 1. 2. 3. 4. то все корректно работает,- выводятся все 5-ть записей. Угу. Или, если быть точным, то subItemID 393053393054393055393056393053 KOV85А вот внешний запрос "SELECT * FROM table1 WHERE table1.id IN" отбрасываем повторяющиеся записи. Выводит всего 4 штуки. Ну то есть Код: sql 1. 2. 3. И ты что, правда думаешь, что такой заппрос даст ПЯТЬ записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1832772]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 348ms |

| 0 / 0 |
