select a.nume_echipament,
a.producator,
a.seria,
b.uc,
b.port ,
a.durata_aprovizionare as durata_aprovizionare,
( SELECT sec_to_time(count(starea)*5) from echipamente inner join
aprovizionari on
echipamente.nume_echipament=aprovizionari.nume_echipament
where
(
echipamente.ora>aprovizionari.ora_aprov
and
echipamente.data>aprovizionari.data_aprov)
and starea='1'
and
echipamente.nume_echipament='automat_imbuteliere') as durata_functionare,
a.durata_viata as durata_viata,
( select data_aprov from aprovizionari where nume_echipament='automat_imbuteliere' order by date(data_aprov) desc, time(ora_aprov) desc limit 1) as data_aprov,
( select ora_aprov from aprovizionari where nume_echipament='automat_imbuteliere' order by date(data_aprov) desc, time(ora_aprov) desc limit 1) as ora_aprov,
(select sec_to_time(count(starea)*5)) as durata_totala
from date_tehnice a
inner join echipamente b on a.nume_echipament=b.nume_echipament
inner join aprovizionari c on c.nume_echipament=a.nume_echipament
where a.nume_echipament='automat_imbuteliere'
and
b.starea='1';
以上查询工作完全正常,但我还需要从此查询中获取结果
select `starea` from echipamente where nume_echipament='automat_imbuteliere' order by data desc, ora desc limit 1 ;
正如您在第一个查询中看到的那样,它仅依赖于b.starea =' 1',而第二个查询需要获得' starea'的最新值。 ' starea'只有0和1的值。那么,我如何将这2个查询合并为1个查询,以获得' starea'的最后一个值?
答案 0 :(得分:0)
要使第二个查询拥有自己的行,那么UNION就像这样使用所需数量的空列来匹配第一个查询中的列数。
UNION
select
(select `starea` from echipamente where nume_echipament='automat_imbuteliere' order by data desc, ora desc limit 1 )
, null
, null
, null
, null
, null