Моя структура таблицы выглядит следующим образом:ВЫБРАТЬ запрос для трех соединенных таблиц
subversions(
id INT(10) AUTO_INCREMENT,
version_id INT(10)
name VARCHAR(16) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (version_id) REFERENCES versions(id)
);
/* ^
Many|
To
| Many
v
*/
users(
id INT(10) AUTO_INCREMENT,
name VARCHAR(16) NOT NULL,
password VARCHAR(32) NOT NULL,
PRIMARY KEY (id),
);
с соединительной таблице
subversions_users_conjuction(
id INT(10) AUTO_INCREMENT,
subversion_id VARCHAR(16) NOT NULL,
user_id VARCHAR(32) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (subversion_id) REFERENCES subversions(id),
FOREIGN KEY (user_id) REFERENCES users(id)
);
Моя проблема проектирования запроса для выбора всех пользователей от «пользователей» являются не в subversions_users_conjuction с subversion_id = specificID и без получения тех, кто
Так что-то вроде следующего:
//Query for all other users
$res2 = mysqli_query($conn,"SELECT DISTINCT i.id, i.username FROM users AS i
NOT IN
SELECT DISTINCT u.id, u.username FROM users AS u
INNER JOIN subversion_user ON u.id = subversion_user.user_id
WHERE subversion_user.subversion_id = '$subversionID'");
, но это одна не работает SQL Ошибка говорит:
MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT IN
SELECT DISTINCT u.id, u.username FROM users AS u
INNER JOI' at line 2
Как насчет 'user_id' и' subversion_id' вместо двух разных простых 'id' в вашем первоначальном объявлении? – zipzit
Я делал эти запросы во многих разных формах, этот только для базовой концепции того, что я использовал, но он не работает – user1480742
wow. Я только что нашел http://sqlfiddle.com/ Позвольте мне посмотреть, могу ли я воспроизвести (или вы можете сделать то же самое ....) намек, подсказка! – zipzit