![]() |
|
Модераторы: skyboy |
![]()
|
|
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Добрый день!
Есть таблица A с id, нужно выбрать данные из таблицы B, для которых нет id=val (но которые есть в A). Как делаем:
Задача у нас чуть сложнее. Есть таблицы TABLE_1, TABLE_2.1 и TABLE_2.2, нужно выбрать данные из TABLE_3, для которых нет записи id=val, существующей в TABLE_1 ИЛИ в TABLE_2.1 - но для последней только для случае, когда id=val ЕСТЬ и в TABLE_2.2 т.е. условие вида ВЫБРАТЬ данные из таблицы TABLE_3 ПРИ УСЛОВИИ, что id=val есть в TABLE_1 ИЛИ в (TABLE_2.1 И TABLE_2.2), но нет в TABLE_3 Такое можно сделать одним запросом? Пока склоняюсь к мысли разбить его на два запроса (отдельно TABLE_1, отдельно TABLE_2.1 И TABLE_2.2), и далее результаты уже объединить посредствам php. Заранее спасибо за помощь! |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Нужно что-то типа
Незнание - не повод делать через задницу. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
||||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Блин, сорри, я ерунду написал.
Все то же самое, только данные выбираются из TABLE_1 / TABLE_2.1, id которых нет в TABLE_3! Пока сделал все же раздельными запросами, т.к. это логично и быстро. Не совсем пойму такой выпад в сторону это. Часто разделяют большие запросы на 2-3-4 даже. Тем более решение с IN при неизвестном количестве данных - очень спорный вариант, ИМХО. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Не понял фразы. В 90% случаев так делают те, кто ни ухо ни рыло в запросах. Сделать фигню, а потом придумать, почему так лучше, да ещё гордиться этим... не иди таким путём. Да, бывают ситуации, когда так на самом деле правильно. Но они редки, и это почти наверняка не твой случай. Ну тогда сделай следующий логический шаг, и вообще откажись от сервера БД... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Я писал: А на самом деле надо так: Есть таблицы TABLE_1, TABLE_2.1 и TABLE_2.2, TABLE_3. Нужно выбрать данные из TABLE_1, TABLE_2.1 (сами данные могут пересекатся, выборка должна быть с группировкой по id, дубли не нужны), у выбираемых данных должен быть id, которого нет в TABLE_3. При этом, из TABLE_2.1 берем только те записи, для которых id есть и в TABLE_2.2. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Я лично ничего не понимаю в твоём описании... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Выбрать записи, id которых нет в TABLE_3, но есть в TABLE_1 и/или в ( TABLE_2.1 и TABLE_2.2 ).
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Ааа... вот так, что ли?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: 1 Всего: 1 |
Akina, спасибо всен оказалось не так сложно, вы были правы.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |