Для моей проблемы, я не знаю, как использовать функцию SELECT в другом SELECT (с MySQL).
В одиночку SELECT работает (все части кода) замечательно, но когда я поставить полный код, PHPMyAdmin говорит: « Подзапрос возвращает более 1 строки ».
Полный код:
INSERT INTO `vente` (`Quantite`, `Année`, `Mois`, `Jour`, `ID_TypeEquipement`, `ID_Divinite`, `ID_Pouvoir`, `ID_Lieu`, `ID_DemiDieu`)
SELECT `_info_ventes_1er_siecle`.`Quantité`, `_info_ventes_1er_siecle`.`Année`, `_info_ventes_1er_siecle`.`Mois`, `_info_ventes_1er_siecle`.`Jour`
, (SELECT `ID`
FROM `typeequipement`
INNER JOIN `_info_ventes_1er_siecle`
ON `_info_ventes_1er_siecle`.`Objet` = `typeequipement`.`Denomination`)
, (SELECT `ID_Divinite`
FROM `mois`
INNER JOIN `_info_ventes_1er_siecle`
ON `_info_ventes_1er_siecle`.`Mois` = `mois`.`Nom`)
, (SELECT `ID`
FROM `pouvoir`
INNER JOIN `_info_ventes_1er_siecle`
ON `_info_ventes_1er_siecle`.`Pouvoir` = `pouvoir`.`Denomination`)
, (SELECT `ID_Lieu`
FROM `lieu`
INNER JOIN `_info_ventes_1er_siecle`
ON `_info_ventes_1er_siecle`.`Province` = `lieu`.`Province`
AND `_info_ventes_1er_siecle`.`Ville` = `lieu`.`Ville`)
, (SELECT `ID_Lieu`
FROM `lieu`
INNER JOIN `_info_ventes_1er_siecle`
ON `_info_ventes_1er_siecle`.`Ville` = `lieu`.`Ville`)
FROM `_info_ventes_1er_siecle`;
Работает, когда я пытаюсь это:
SELECT `ID`
FROM `typeequipement`
INNER JOIN `_info_ventes_1er_siecle`
ON `_info_ventes_1er_siecle`.`Objet` = `typeequipement`.`Denomination`
Или это:
SELECT `_info_ventes_1er_siecle`.`Quantité`, `_info_ventes_1er_siecle`.`Année`, `_info_ventes_1er_siecle`.`Mois`, `_info_ventes_1er_siecle`.`Jour`
Так что ошибка возникает только тогда, когда я добавляю части ", (SELECT ...)". Это, вероятно, синтаксис. Если честно, я не знаю, поэтому я здесь.
Спасибо, надеюсь, я смогу исправить эту ошибку до истечения срока. ;)