У меня есть следующие две таблицы:Неоднозначность `id` поле
system
- id
- systemName
- idOrganization
organization
- id
- officeSymbol
Я бегу следующий запрос и получение в id
неоднозначное ошибка:
SELECT system.systemName, organization.officeSymbol
FROM system
LEFT JOIN (organization)
ON (system.idOrganization = organization.id)
Как вы можете видеть, я m, не выбирая столбец id
. Если я помещаю system.id
в список полей для выбора, я больше не получаю эту ошибку. К сожалению, способ обработки этих данных Я не могу вернуть id
- мы не хотим, чтобы он отображался пользователю.
Также, если я добавляю GROUP BY system.systemName
, я больше не получаю ошибку - но это просто не похоже на оптимальное решение.
Примечание: LEFT JOIN
является намеренным, поскольку не все системы будут назначены Организации.
SELECT VERSION()
--> 5.0.77-community-log
CREATE TABLE system (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`systemName` VARCHAR(45) DEFAULT NULL,
`idOrganization` INT(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_system_organization` (`idOrganization`),
CONSTRAINT `fk_system_organization`
FOREIGN KEY (`idOrganization`)
REFERENCES `organization` (`id`)
ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE organization (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`officeSymbol` VARCHAR(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+1 за то, что он ленив, чем я. –
Отправил скрипты создания в соответствии с запросами, а также информацию о версии. Запрос просто запускается непосредственно в браузере запросов на данный момент, возвращая значение столбца «id» в списке полей неоднозначно, ErrorNo: 1052. –
Другие поля в таблицах. Моя проблема заключается в том, что использование DISTINCT будет возвращать только уникальные строки с учетом этого запроса, но могут быть другие данные, которые приводят эти две записи к визуализации двух строк результата (но я не хочу, чтобы эти данные возвращались конечному пользователю). Ошибки синтаксиса только из-за ввода - этот код находится в независимой сети, но я уверен, что он действительно там. –