我认为我有2个表的MySql查询中的菜鸟问题。
在这种情况下,我尝试使用"inner join"
在MySql查询中使用注释(评论,答案)数30,但是咨询使我得到244个结果。
这些表的名称是comentarios和respuestas,
这些表在列comentario_servicio
和respuesta_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
UNION
和UNION ALL
的工作方式:What is the difference between UNION and UNION ALL?关于php - MySQL咨询内联接我想,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30115167/