我在5个表上进行了这个连接,它看起来像这样:
SELECT Marque.nom AS "Brand"
, Modele.nom AS "Model"
, Annee.nom "Year"
, Motorisation.nom AS "Motor"
, Fichier.prix_1 AS "Normal price"
, Fichier.prix_2 AS "Discounted price"
FROM Marque
JOIN Modele ON Modele.idMarque = Marque.id
JOIN Annee ON Annee.idModele = Modele.id
JOIN Motorisation ON Motorisation.idAnnee = Annee.id
JOIN Fichier ON Fichier.idMotorisation = Motorisation.id;
所以它返回:
我需要编辑在csv中导出的正常价格和折扣价格...或者直接在MySql上编辑,但我不能,因为我没有唯一的列“当前选择不包含唯一列。网格编辑,复选框,编辑,复制和删除功能不可用。“
任何人都可以帮我解决这个问题吗?
最好的问候。
答案 0 :(得分:1)
我不是百分之百确定这一点,但我认为如果你通过其中一个更高的价值进行分组,你可以编辑价格。
SELECT Marque.nom AS "Brand",
Modele.nom AS "Model",
Annee.nom "Year",
Motorisation.nom AS "Motor",
Fichier.prix_1 AS "Normal price",
Fichier.prix_2 AS "Discounted price"
FROM Marque
JOIN Modele ON Modele.idMarque = Marque.id
JOIN Annee ON Annee.idModele = Modele.id
JOIN Motorisation ON Motorisation.idAnnee = Annee.id
JOIN Fichier ON Fichier.idMotorisation = Motorisation.id
GROUP BY Fichier.idMotorisation
你只能编辑我想的fichier,如果不是你必须在excel中这样做我害怕
好的,我有一个解决方法可以帮助你,我想:
首先执行此查询
SELECT CONCAT_WS(',',Fichier.idMotorisation) AS ID_ARRAY
FROM Marque
JOIN Modele ON Modele.idMarque = Marque.id
JOIN Annee ON Annee.idModele = Modele.id
JOIN Motorisation ON Motorisation.idAnnee = Annee.id
JOIN Fichier ON Fichier.idMotorisation = Motorisation.id
GROUP BY Fichier.idMotorisation
这将为您提供一个长字符串,因为所有id都以逗号连接。然后,您将此字符串插入以下查询中:
SELECT *
FROM Fichier
WHERE Fichier.idMotorisation IN (*Insert string here, not as string just as comma seperated values between the brackets*)
应该为您提供可以处理的结果。
编辑:
这是您在一个可编辑查询中获得的最佳效果:
SELECT Fichier.*
FROM Marque
JOIN Modele ON Modele.idMarque = Marque.id
JOIN Annee ON Annee.idModele = Modele.id
JOIN Motorisation ON Motorisation.idAnnee = Annee.id
JOIN Fichier ON Fichier.idMotorisation = Motorisation.id
GROUP BY Fichier.idMotorisation
如果您现在将其他信息添加到您的选择中,它会说您因为加入而无法编辑(不是因为缺少密钥,这是我们的第一个问题)