Как и другие сказали, если вы хотите 30 записей, как результат, вы ищете UNION
, а не JOIN
, Так что попробуйте это:
select
'Comentario' `Table`
,id_comentario `id_comentario`
,0 `id_respuestas`
,comentario_servicio `servicio`
,comentario_usuario `usuario`
,comentario_comentario `text`
,comentario_fecha `fecha`
from comentarios
union
select
'Respuestas' `Table`
,respuesta_comentario `id_comentario`
,id_respuestas `id_respuestas`
,respuesta_servicio `servicio`
,respuesta_usuario `usuario`
,respuesta_respuesta `text`
,respuesta_fecha `fecha`
from respuestas
order by `id_comentario`,`id_respuestas`
http://sqlfiddle.com/#!2/86b03/23
Если вы действительно хотите JOIN
, вы получите только 20 результатов. Во-первых, вы не используете правую клавишу для связывания своих таблиц. Servicio
- T.I.
везде, поэтому вы получаете 224 результата (16 * 14 = 224 ... не 244 :)). Итак, если я правильно понимаю вашу структуру, отношение 1 для многих ... 1 Comentario
can hav multiple Respuestas
. Если это так, вы получите 20 результатов. Во-вторых, вам нужно использовать OUTER JOIN
. Кроме того, если вы хотите получить рекорды для T.I.
«servicio», добавьте WHERE comentario_servicio = 'T.I.'
после заявления SELECT
. Так что смотрите на этом примере:
SQL Fiddle
MySQL 5.5 Настройка схемы:
CREATE TABLE `comentarios` (
`id_comentario` int(11) unsigned NOT NULL AUTO_INCREMENT,
`comentario_servicio` varchar(45) NOT NULL,
`comentario_usuario` varchar(45) NOT NULL,
`comentario_comentario` varchar(500) NOT NULL,
`comentario_fecha` varchar(45) NOT NULL,
PRIMARY KEY (`id_comentario`)
);
INSERT INTO `comentarios` (`id_comentario`, `comentario_servicio`, `comentario_usuario`, `comentario_comentario`, `comentario_fecha`) VALUES (46,'T.I','paulnoris','Increible servicio','2015-05-04, 1:50'),(47,'T.I','paulnoris','Al igual que mi compañero estoy muy contento con los resultados que ah tenido la pagina','2015-05-04, 1:59'),(48,'T.I','paulnoris','Asi es estamos contentos con los resultados de la pagina en tan poquito tiempo todo lo que hemos ava','2015-05-04, 2:07'),(49,'T.I','paulnoris','Asi es estamos contentos con los resultados de la pagina en tan poquito tiempo todo lo que hemos ava\r\nquisiera poder escribir muchisimas cosas mas pero pues se entiende que aveces no se puede','2015-05-04, 2:09'),(50,'T.I','paulnoris','veamos cual es el limite de comentarios que puedo hacer si nomas se supone que son 200 letras aver que tanto es porque esta cabron saber cuantas son sin escribirlas todas veamos ya me canse y ya me qu','2015-05-04, 2:10'),(51,'T.I','paulnoris','el alex se la come cruda','2015-05-04, 10:10'),(52,'T.I','paulnoris','se la come el alex','2015-05-04, 13:17'),(53,'T.I','paulnoris','lorem dsad djsaiod jiodjsaoi daojdjroig joid sjoidjs aiodj idjoasisjd osidj aiodj aosijd oiajdos ijdiojigjg fioj giofdjgoifjgoifdj goijaoidj aoisdsaiodjs adiosj diaj dioj iogjfdoigd jgoidfjoisdjdfsdf ','2015-05-06, 11:03'),(54,'T.I','papanoel','Hola amigos tengo una duda sobre si puedo integrarme a otros servicios perteneciendo ya a este','2015-05-06, 12:15'),(55,'T.I','paulnoris','El manchado me la pela','2015-05-06, 13:37'),(56,'T.I','paulnoris','El gilberto se la come cruda','2015-05-06, 16:18'),(57,'T.I','paulnoris','El oswaldo es gay','2015-05-06, 16:19'),(58,'T.I','paulnoris','jasidoja diosajdas','2015-05-06, 18:09'),(59,'T.I','paulnoris','dsadsadsadsada','2015-05-06, 22:08');
CREATE TABLE `respuestas` (
`id_respuestas` int(11) NOT NULL AUTO_INCREMENT,
`respuesta_usuario` varchar(45) NOT NULL,
`respuesta_servicio` varchar(45) NOT NULL,
`respuesta_respuesta` varchar(500) NOT NULL,
`respuesta_comentario` int(11) NOT NULL,
`respuesta_fecha` varchar(45) NOT NULL,
PRIMARY KEY (`id_respuestas`)
);
INSERT INTO `respuestas` (`id_respuestas`, `respuesta_usuario`, `respuesta_servicio`, `respuesta_respuesta`, `respuesta_comentario`, `respuesta_fecha`) VALUES (8,'paulnoris','T.I','blabla',53,'2015-05-06, 11:43'),(9,'paulnoris','T.I','a',53,'2015-05-06, 11:45'),(10,'paulnoris','T.I','b',53,'2015-05-06, 11:45'),(11,'paulnoris','T.I','c',53,'2015-05-06, 11:45'),(12,'paulnoris','T.I','t',52,'2015-05-06, 11:45'),(13,'paulnoris','T.I','q',52,'2015-05-06, 11:45'),(14,'paulnoris','T.I','y',52,'2015-05-06, 11:45'),(15,'paulnoris','T.I','dsdasda',51,'2015-05-06, 11:51'),(16,'papanoel','T.I','blablabla',53,'2015-05-06, 12:00'),(17,'papanoel','T.I','asi es viejon echale ganas',50,'2015-05-06, 12:00'),(18,'paulnoris','T.I','Desafortunadamente no mi amigo tienes que aba',54,'2015-05-06, 12:16'),(19,'paulnoris','T.I','djsidjo dsaidjoa',55,'2015-05-06, 13:37'),(20,'paulnoris','T.I','Si se la come cruda',56,'2015-05-06, 16:18'),(21,'paulnoris','T.I','Si vale madre es gay',57,'2015-05-06, 16:19'),(22,'paulnoris','T.I','jidsojd iodjs',58,'2015-05-06, 18:10'),(23,'paulnoris','T.I','rgtgrgdgf',59,'2015-05-06, 22:08');
Запрос 1:
select * from comentarios
left outer join respuestas on id_comentario = respuesta_comentario
Results:
| id_comentario | comentario_servicio | comentario_usuario | comentario_comentario | comentario_fecha | id_respuestas | respuesta_usuario | respuesta_servicio | respuesta_respuesta | respuesta_comentario | respuesta_fecha |
|---------------|---------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|---------------|-------------------|--------------------|-----------------------------------------------|----------------------|-------------------|
| 46 | T.I | paulnoris | Increible servicio | 2015-05-04, 1:50 | (null) | (null) | (null) | (null) | (null) | (null) |
| 47 | T.I | paulnoris | Al igual que mi compañero estoy muy contento con los resultados que ah tenido la pagina | 2015-05-04, 1:59 | (null) | (null) | (null) | (null) | (null) | (null) |
| 48 | T.I | paulnoris | Asi es estamos contentos con los resultados de la pagina en tan poquito tiempo todo lo que hemos ava | 2015-05-04, 2:07 | (null) | (null) | (null) | (null) | (null) | (null) |
| 49 | T.I | paulnoris | Asi es estamos contentos con los resultados de la pagina en tan poquito tiempo todo lo que hemos ava quisiera poder escribir muchisimas cosas mas pero pues se entiende que aveces no se puede | 2015-05-04, 2:09 | (null) | (null) | (null) | (null) | (null) | (null) |
| 50 | T.I | paulnoris | veamos cual es el limite de comentarios que puedo hacer si nomas se supone que son 200 letras aver que tanto es porque esta cabron saber cuantas son sin escribirlas todas veamos ya me canse y ya me qu | 2015-05-04, 2:10 | 17 | papanoel | T.I | asi es viejon echale ganas | 50 | 2015-05-06, 12:00 |
| 51 | T.I | paulnoris | el alex se la come cruda | 2015-05-04, 10:10 | 15 | paulnoris | T.I | dsdasda | 51 | 2015-05-06, 11:51 |
| 52 | T.I | paulnoris | se la come el alex | 2015-05-04, 13:17 | 12 | paulnoris | T.I | t | 52 | 2015-05-06, 11:45 |
| 52 | T.I | paulnoris | se la come el alex | 2015-05-04, 13:17 | 13 | paulnoris | T.I | q | 52 | 2015-05-06, 11:45 |
| 52 | T.I | paulnoris | se la come el alex | 2015-05-04, 13:17 | 14 | paulnoris | T.I | y | 52 | 2015-05-06, 11:45 |
| 53 | T.I | paulnoris | lorem dsad djsaiod jiodjsaoi daojdjroig joid sjoidjs aiodj idjoasisjd osidj aiodj aosijd oiajdos ijdiojigjg fioj giofdjgoifjgoifdj goijaoidj aoisdsaiodjs adiosj diaj dioj iogjfdoigd jgoidfjoisdjdfsdf | 2015-05-06, 11:03 | 8 | paulnoris | T.I | blabla | 53 | 2015-05-06, 11:43 |
| 53 | T.I | paulnoris | lorem dsad djsaiod jiodjsaoi daojdjroig joid sjoidjs aiodj idjoasisjd osidj aiodj aosijd oiajdos ijdiojigjg fioj giofdjgoifjgoifdj goijaoidj aoisdsaiodjs adiosj diaj dioj iogjfdoigd jgoidfjoisdjdfsdf | 2015-05-06, 11:03 | 9 | paulnoris | T.I | a | 53 | 2015-05-06, 11:45 |
| 53 | T.I | paulnoris | lorem dsad djsaiod jiodjsaoi daojdjroig joid sjoidjs aiodj idjoasisjd osidj aiodj aosijd oiajdos ijdiojigjg fioj giofdjgoifjgoifdj goijaoidj aoisdsaiodjs adiosj diaj dioj iogjfdoigd jgoidfjoisdjdfsdf | 2015-05-06, 11:03 | 10 | paulnoris | T.I | b | 53 | 2015-05-06, 11:45 |
| 53 | T.I | paulnoris | lorem dsad djsaiod jiodjsaoi daojdjroig joid sjoidjs aiodj idjoasisjd osidj aiodj aosijd oiajdos ijdiojigjg fioj giofdjgoifjgoifdj goijaoidj aoisdsaiodjs adiosj diaj dioj iogjfdoigd jgoidfjoisdjdfsdf | 2015-05-06, 11:03 | 11 | paulnoris | T.I | c | 53 | 2015-05-06, 11:45 |
| 53 | T.I | paulnoris | lorem dsad djsaiod jiodjsaoi daojdjroig joid sjoidjs aiodj idjoasisjd osidj aiodj aosijd oiajdos ijdiojigjg fioj giofdjgoifjgoifdj goijaoidj aoisdsaiodjs adiosj diaj dioj iogjfdoigd jgoidfjoisdjdfsdf | 2015-05-06, 11:03 | 16 | papanoel | T.I | blablabla | 53 | 2015-05-06, 12:00 |
| 54 | T.I | papanoel | Hola amigos tengo una duda sobre si puedo integrarme a otros servicios perteneciendo ya a este | 2015-05-06, 12:15 | 18 | paulnoris | T.I | Desafortunadamente no mi amigo tienes que aba | 54 | 2015-05-06, 12:16 |
| 55 | T.I | paulnoris | El manchado me la pela | 2015-05-06, 13:37 | 19 | paulnoris | T.I | djsidjo dsaidjoa | 55 | 2015-05-06, 13:37 |
| 56 | T.I | paulnoris | El gilberto se la come cruda | 2015-05-06, 16:18 | 20 | paulnoris | T.I | Si se la come cruda | 56 | 2015-05-06, 16:18 |
| 57 | T.I | paulnoris | El oswaldo es gay | 2015-05-06, 16:19 | 21 | paulnoris | T.I | Si vale madre es gay | 57 | 2015-05-06, 16:19 |
| 58 | T.I | paulnoris | jasidoja diosajdas | 2015-05-06, 18:09 | 22 | paulnoris | T.I | jidsojd iodjs | 58 | 2015-05-06, 18:10 |
| 59 | T.I | paulnoris | dsadsadsadsada | 2015-05-06, 22:08 | 23 | paulnoris | T.I | rgtgrgdgf | 59 | 2015-05-06, 22:08 |
вы можете показать образец данных? возможно, в [sqlFiddle] (http://sqlfiddle.com). обычно, если вы получаете больше ожидаемых результатов, это связано с неожиданным перекрестным соединением. – Sean
Спасибо человеку за внимание. Мне действительно нужно увидеть некоторые учебники, чтобы понять, что такое sqlFiddle и как это работает, но это было интересно благодаря человеку. Консультирование теперь бросает мне 244. Вот ссылка: http://sqlfiddle.com/#!2/86b03/1 –
основывается на ваших данных в sqlFiddle, я думаю, что ваш запрос должен быть - 'SELECT * FROM respuestas INNER JOIN comentarios ON id_comentario = respuesta_comentario' - http://sqlfiddle.com/#!2/b1510a/2 – Sean