Я сломав голову над этим простым душевным кода, который не хочет работать, и я не могу думать любого другого решения ...MYSQL подвыборки в котором положение
Не могли бы вы, пожалуйста, помогите заставить его работать?
SELECT chart FROM chart WHERE (select count(user_id) FROM users join charts ON
user_id=charts.UID and charts.chart=chart WHERE INET_NTOA(user_ip)='127.0.0.1')=0;
Есть 3 таблицы, связанные со следующими столбцами:
chart(
chart int(5)
);
charts(
UID int(11),
chart int(5)
);
`users` (
`user_id` int(11),
`user_ip` int(10)
);
Дело в том, что колонка «диаграмма» от первого выбора должны быть переданы в подзапрос charts.chart = график, но вместо того, чтобы подзапрос заканчивается сравнением с самим собой, т.е. chart = chart - всегда true.
Я знаю, что это не будет работать ... но я не могу думать ни о каком другом пути. Есть ли какой-нибудь способ для того, что я пытаюсь сделать?
EDIT 1: В принципе мне нужен обратный выбор:
select chart.chart from chart join charts on chart.chart=charts.chart join users
on user_id=charts.UID and INET_NTOA(user_ip)='127.0.0.1';
Этот запрос возвращает диаграммы, помеченные пользователем с заданным IP, например: 1, 4,5, 9. Но мне нужно выберите те, которые не помечены, а именно: 2,3,6,7,8,10 и так далее ...
EDIT 2: Я ищу какое-то отрицательное соединение сейчас. Я думаю, что это будет сделано, но я не знаю, как его использовать. Между тем делать некоторые исследования ...
Так ...... Любые идеи? Я не знаю, на этот раз ... – Anonymous