我认为我有2个表的MySql查询中的菜鸟问题。

在这种情况下,我尝试使用"inner join"在MySql查询中使用注释(评论,答案)数30,但是咨询使我得到244个结果。

这些表的名称是comentarios和respuestas,
这些表在列comentario_serviciorespuesta_servicio中属于同一服务“ T.I”。

我有16个答案(respuesta_servicio)和14个评论(comentario_servicio),因此正确的查询必须向我显示30个结果。

这是我的数据。

http://sqlfiddle.com/#!2/86b03/1

这是我的咨询:

select * from respuestas  join comentarios where comentario_servicio = respuesta_servicio

最佳答案

如果要查找30个结果(这是两个表中所有记录的组合),则可能需要使用UNION查询。

使用您提供的表,这是查询的外观。 UNION的关键是具有相同名称的列,这就是为什么下半部分使用NULL值的原因。

SELECT
  id_respuestas `id`
  ,respuesta_servicio `servicio`
  ,respuesta_usuario `usuario`
  ,respuesta_respuesta `text`
  ,respuesta_comentario `related_comment`
  ,respuesta_fecha `fecha`
  ,'Respuestas' `type` -- one way to identify the type of record
FROM
  respuestas

union

SELECT
  id_comentario `id`
  ,comentario_servicio `servicio`
  ,comentario_usuario `usuario`
  ,comentario_comentario `text`
  ,NULL `related_comment`
  ,comentario_fecha `fecha`
  ,'Comentario' `type` -- one way to identify the type of record
FROM
  comentarios


有效的SQL提琴:http://sqlfiddle.com/#!2/86b03/19

UNIONUNION ALL的工作方式:What is the difference between UNION and UNION ALL?

关于php - MySQL咨询内联接我想,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30115167/

10-15 20:33