我想从表格“Deelnames”中选择表格Koppels,其中包含“Speler”,“hcp”,“Wedstrijd”,“speelt”,“vroeg”,“laat”列:
无论我编写什么,我都会收到回复“每个派生表必须有自己的别名”
请告诉我如何正确拼写MySQL。
INSERT INTO Koppels (
D1Speler, D1Hcp, D1vroeg, D1laat,
D2Speler, D2Hcp, D2vroeg, D2laat)
SELECT
D1.Speler AS D1Speler, D1.hcp As D1Hcp, D1.vroeg AS D1vroeg, D1.laat AS D1laat,
D2Speler, D2Hcp, D2vroeg, D2laat
FROM
Deelnames AS D1,
(Select Speler AS D2Speler, hcp AS D2Hcp, vroeg AS D2vroeg, laat AS D2laat, Wedstrijd, speelt
FROM Deelnames
WHERE D1.Speler <> Speler
AND speelt=-1
AND Wedstrijd = "M01"
AND NOT ((D1.vroeg =-1 AND laat =-1) OR (D1.laat=-1 AND vroeg = -1))
ORDER BY ABS(D1.hcp-hcp) ASC
LIMIT 10)
WHERE
D1.speelt=-1
AND D1.Wedstrijd="M01"
感谢您帮助我。
弗雷德奥滕霍夫答案 0 :(得分:0)
<强>更新强>
请尝试查询的更新版本:
INSERT INTO Koppels (
D1Speler, D1Hcp, D1vroeg, D1laat,
D2Speler, D2Hcp, D2vroeg, D2laat)
SELECT
D1.Speler AS D1Speler, D1.hcp As D1Hcp, D1.vroeg AS D1vroeg, D1.laat AS D1laat,
D2.D2Speler, D2.D2Hcp, D2.D2vroeg, D2.D2laat
FROM
Deelnames AS D1
INNER JOIN
(
SELECT
_tmp_D1.Speler AS _tmp_D1_Speler,
_tmp_D1.hcp AS _tmp_D1_hcp,
_tmp_D2._tmp_D2_Wedstrijd,
_tmp_D2._tmp_D2_speelt,
_tmp_D2.D2Speler, _tmp_D2.D2Hcp, _tmp_D2.D2vroeg, _tmp_D2.D2laat
FROM
Deelnames AS _tmp_D1
INNER JOIN
(
Select
Speler AS D2Speler,
hcp AS D2Hcp,
vroeg AS D2vroeg,
laat AS D2laat,
Wedstrijd AS _tmp_D2_Wedstrijd,
speelt AS _tmp_D2_speelt
FROM
Deelnames
WHERE
speelt=-1
AND Wedstrijd = "M01"
) AS _tmp_D2
ON _tmp_D1.Speler <> _tmp_D2.D2Speler
AND NOT ((_tmp_D1.vroeg =-1 AND _tmp_D2.D2laat =-1) OR (_tmp_D1.laat=-1 AND _tmp_D2.D2vroeg = -1))
AND _tmp_D1.speelt = _tmp_D2._tmp_D2_speelt
AND _tmp_D1.Wedstrijd = _tmp_D2._tmp_D2_Wedstrijd
ORDER BY
ABS(_tmp_D1.hcp-_tmp_D2.D2hcp) ASC
LIMIT 10
) AS D2
ON D1.Speler = D2._tmp_D1_Speler
AND D1.speelt = D2._tmp_D2_speelt
AND D1.Wedstrijd = D2._tmp_D2_Wedstrijd
AND D1.hcp = D2._tmp_D1_hcp