我有这个选择查询
SELECT r.ID, p.Pregunta
FROM RESPUESTAS r, PREGUNTAS p
WHERE r.ID_Pregunta = p.ID
SELECT r.ID, u.Nombre
FROM RESPUESTAS r, USUARIOS u
WHERE r.ID_Usuario = u.ID
SELECT r.ID, o.Region
FROM RESPUESTAS r, REGIONES o
WHERE r.ID_Region = o.ID
SELECT r.ID, s.Nombre
FROM RESPUESTAS r, SUCURSALES s
WHERE r.ID_Sucursal = s.ID
SELECT r.ID, d.Nombre
FROM RESPUESTAS r, DEPARTAMENTOS d
WHERE r.ID_Departamento = d.ID
SELECT r.ID, p.Nombre
FROM RESPUESTAS r, PRODUCTOS p
WHERE r.ID_Producto = p.ID
我想将每个人显示为一个包含单个查询的列(r.ID
可以是所有人的同一列)我知道我可能会使用INNER JOIN
但我不知道知道必须这样做
如果他们中的任何人没有任何数据会怎么样?
答案 0 :(得分:1)
SELECT r.ID
,p.Pregunta
,u.Nombre
,o.Region
,s.Nombre
,d.Nombre
,p.Nombre
FROM RESPUESTAS r
LEFT JOIN PREGUNTAS p
ON r.ID_Pregunta = p.ID
LEFT JOIN USUARIOS u
ON r.ID_Usuario = u.ID
LEFT JOIN REGIONES o
ON r.ID_Region = o.ID
LEFT JOIN SUCURSALES s
ON r.ID_Sucursal = s.ID
LEFT JOIN DEPARTAMENTOS d
ON r.ID_Departamento = d.ID
LEFT JOIN PRODUCTOS p
ON r.ID_Producto = p.ID
只要表null
中存在ID,不存在的记录将以RESPUESTAS
的形式出现。
答案 1 :(得分:1)
SELECT r.ID, p.Pregunta, u.Nombre, o.Region, s.Nombre, d.Nombre, p.Nombre
FROM RESPUESTAS r inner join PREGUNTAS p on r.ID_Pregunta = p.ID
inner join USUARIOS u on r.ID_Usuario = u.ID
inner join REGIONES o on r.ID_Region = o.ID
inner join SUCURSALES s on r.ID_Sucursal = s.ID
inner join DEPARTAMENTOS d on r.ID_Departamento = d.ID
inner join PRODUCTOS p on r.ID_Producto = p.ID