TableA:
+------+------+---------+
| A_Id | B_Id | AValue |
+------+------+---------+
TableB:
+------+------+------+
| B_Id | A_Id | C_Id |
+------+------+------+
TableC:
+------+------+------+---------+
| C_Id | B_Id | D_Id | CValue |
+------+------+------+---------+
TableD:
+------+---------+
| D_Id | DValue |
+------+---------+
SELECT AValue, CValue, Dvalue
FROM TableA
inner JOIN TableB
ON TableA.A_Id = TableB.A_Id
inner JOIN TableC
ON TableB.B_Id=TableC.B_Id;
inner JOIN TableD
ON TableC.D_Id=TableD.D_Id;
Однако это не дает колонку DValue, которая мне нужна, но только столбцы AValue и CValue. Мне нужны все три столбца. Как мне это сделать?Внутренние соединения нескольких таблиц
Ваш запрос выглядит нормально. – Jens
Почему у 'TableB' есть' C_Id' и 'TableC' есть' D_Id'? Это кажется неправильным. –
Вы уверены, что есть только один «DValue», а не какой-то неоднозначный другой столбец с именем? – Drifter