powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Узнать вернуть id шники которых нет в таблице
18 сообщений из 18, страница 1 из 1
Узнать вернуть id шники которых нет в таблице
    #39695843
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как узнать отсутствующие id шники в таблице

Например есть id (10,37,47,37,9384)
Есть таблица tbl

Нужно узнать какие из них отсутствуют в таблице
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695869
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WHERE NOT EXISTS
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695877
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaWHERE NOT EXISTS

Не работает
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695878
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dok11Например есть id (10,37,47,37,9384)
Есть таблица tblЕсть где? В таблице?
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695894
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftdok11Например есть id (10,37,47,37,9384)
Есть таблица tblЕсть где? В таблице?
Нет, не в таблице.

С таблицей я знаю как выбрать...
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695895
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dok11С таблицей я знаю как выбрать...Ну тогда положить в таблицу и выбрать :)
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695929
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dok11Не работаетЗначит, неправильно делаешь.
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695938
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Просьба была помочь...
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695941
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dok11 , пока я вижу просьбу сделать за тебя. Помочь можно лишь тому, кто хоть что-то делает. Где твои попытки? На чём объяснять, что и почему делано неправильно?
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39695979
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем задачу порешал двумя способами, теперь помогите хотя бы определится с лучшем по производительности.

У меня уже есть id которые нужно проверить на отсутствие в таблице katalog_products_category_relations

1. Запрос с подзапросом
Код: sql
1.
select id from `katalog_products` where `katalog_products`.`id` not in (SELECT id_data FROM `katalog_products_category_relations`)



2. Запрос со временной таблицей
Код: sql
1.
2.
3.
CREATE TEMPORARY TABLE `temp` (id INT NOT NULL);
insert into temp (id) values (47),(48),(49) ...; // Список id шников
select id from `temp` where `temp`.`id` not in (SELECT id_data FROM `katalog_products_category_relations`)



id шников может быть много...
Какой лучше выбрать. Спасибо.
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696003
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dok11,
запросы же явно не эквивалентны.
Связать таблицу с проверяемыми id (создать, если нету) по LEFT JOIN c проверяемой таблицей и выводил те записи, где id в проверяемой таблице IS NULL
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696006
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оба запроса отрабатываю верно, вопрос какой производительней
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696055
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dok11,
ну так проверь.
Еще
Код: sql
1.
2.
3.
4.
SELECT a.id
FROM `katalog_products` a
LEFT JOIN `katalog_products_category_relations` b ON a.id = b.id_data
WHERE b.id_data IS NULL
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696092
dok11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paverdok11,
ну так проверь.
Еще
Код: sql
1.
2.
3.
4.
SELECT a.id
FROM `katalog_products` a
LEFT JOIN `katalog_products_category_relations` b ON a.id = b.id_data
WHERE b.id_data IS NULL



Ну то же самое, вернулись id шники которых нет в таб katalog_products_category_relations
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696184
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dok11Ну то же самое, вернулись id шники которых нет в таб katalog_products_category_relationsДык по условию задачи нужно ж выбрать `katalog_products_category_relations`.`id` - это в запросе алиас `b`
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696187
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку. На IS NULL нужно проверять поле из `katalog_products`.
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696254
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleДык по условию задачи ...
ТС так и не удосужился выложить условие задачи. Приходится телепатить.

авторНа IS NULL нужно проверять поле из `katalog_products`.
Ну, я ориентировался на это:
авторid которые нужно проверить на отсутствие в таблице katalog_products_category_relations
...
Рейтинг: 0 / 0
Узнать вернуть id шники которых нет в таблице
    #39696265
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paver, действительно, не вполне однозначно трактуются посты ТС. Особенно, который с подзапросами.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Узнать вернуть id шники которых нет в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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