Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбрать все записи + записи которых нету в текущей выборке? / 9 сообщений из 9, страница 1 из 1
05.08.2015, 15:46:38
    #39023636
ffffff``
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
Подскажите есть таблица:
id---Name---City

Как выбрать все записи с City=1 + те записи id которых нету в City=1
только без UNION
...
Рейтинг: 0 / 0
05.08.2015, 17:30:23
    #39023779
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
если поле id - первичный ключ, то так:
Код: sql
1.
SELECT * FROM mytable
...
Рейтинг: 0 / 0
05.08.2015, 18:56:19
    #39023832
ffffff``
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
miksoft,
шутники)
...
Рейтинг: 0 / 0
06.08.2015, 00:16:05
    #39023923
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
ffffff``miksoft,
шутники)Те, кто ставил задачу - да, шутники.
Но задача не полна. Как минимум, DDL таблицы нужен.
...
Рейтинг: 0 / 0
06.08.2015, 08:03:55
    #39023979
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
miksoft если поле id - первичный ключ , то так:
Код: sql
1.
SELECT * FROM mytable

Слишком сильное требование. Уникальности вполне достаточно :)
...
Рейтинг: 0 / 0
06.08.2015, 09:46:14
    #39024045
ffffff``
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
вроде все предельно ясно написано.....
я знаю как это решить двумя способами:
1. UNION
2. Делать (Select .... ) as tmp1 LEFT JOIN (Select .... ) as tmp2 ON
WHERE ... IS NULL
Но эти способы не пойдут, слишком много записей. Хотелось бы с EXISTS что нить
...
Рейтинг: 0 / 0
06.08.2015, 10:54:27
    #39024100
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
ffffff``Но эти способы не пойдут, слишком много записей."не пойдут" почему? запросы медленно работают? может, у вас просто индексов не хватает? и "слишком много записей" - это сколько? пока что вы просите нас объяснить подземный стук...
...
Рейтинг: 0 / 0
06.08.2015, 23:00:58
    #39024681
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
id name city1111221133111122332244221133
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select t.*
from (
  select id, max(city=1) c
  from test
  group by id
  )g
join test t on t.id=g.id
 and (g.c=1 and t.city=1
   or g.c=0 and t.city<>1)
  ;
...
Рейтинг: 0 / 0
06.08.2015, 23:52:15
    #39024691
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать все записи + записи которых нету в текущей выборке?
Забыл, однако :)
Код: sql
1.
2.
join test t on t.id=g.id
 and (g.c=1 xor t.city<>1)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбрать все записи + записи которых нету в текущей выборке? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]