2016-05-13 128 views
0

有人可以帮助我处理这个查询吗?操作数在我的sql查询中应该包含1列

SELECT ((SELECT t6.`idreserva`, t5.`sala`, t6.`data`,t3.`inicio`, t4.`fim`, t6.`atividade` 
FROM `req_reserva_detail` AS t1 
INNER JOIN `req_material_tempo` AS t3 ON (t1.`idtempoInicio` = t3.`idtempo`) 
INNER JOIN `req_material_tempo` AS t4 ON (t1.`idtempoFim` = t4.`idtempo`) 
INNER JOIN `req_material_sala` AS t5 ON (t1.`idsala` = t5.`idsala`) 
INNER JOIN `req_reservas` AS t6 ON (t1.`idreserva` = t6.`idreserva`) 
INNER JOIN `utilizador` AS t7 ON (t6.`idutilizador` = t7.`idutilizador`) WHERE t6.`idutilizador` = 670 AND t6.`data` >= CURDATE() ORDER BY DATA ASC), 
(SELECT nome FROM `req_reserva_detail` AS t1, `req_material_equipamento` AS t2 WHERE t1.`idequipamento` = t2.`idequipamento` GROUP BY nome)) 

它给出了错误,我不明白如何解决......

问候

UPDATE

架构

enter image description here

+0

你得到了什么错误?显示你的模式? –

+0

你得到了什么确切的错误信息? – codedge

+0

我有错误操作数应该只包含一列 – gmc1972

回答

0
(SELECT t6. idreserva, 
       t5. sala, 
       t6. data, 
       t3. inicio, 
       t4. fim, 
       t6. atividade 
      FROM req_reserva_detail AS t1 
      INNER JOIN req_material_tempo AS t3 
      ON (t1. idtempoInicio = t3. idtempo) 
      INNER JOIN req_material_tempo AS t4 
      ON (t1. idtempoFim = t4. idtempo) 
      INNER JOIN req_material_sala AS t5 
      ON (t1. idsala = t5. idsala) 
      INNER JOIN req_reservas AS t6 
      ON (t1. idreserva = t6. idreserva) 
      INNER JOIN utilizador AS t7 
      ON (t6. idutilizador = t7. idutilizador) 
      WHERE t6. idutilizador = 670 
      AND t6. data >= CURDATE() 
      ORDER BY DATA ASC) 

你的这个子查询返回5列,但是这被用作子查询,并且mySQL期望它只返回一列

+0

它的工作原理,但不是我在找什么,我需要在该查询中返回“'req_material_equipamento',它应该返回值liek一个发票,该表”req_reserva_detail “就像一个orderDetail表 – gmc1972

相关问题