मुझे अनुक्रमिक क्वेरी के साथ कोई समस्या है, मुझे लगता है कि उन्हें वही रीरल्ट देना चाहिए, लेकिन वे नहीं करते हैं। क्या कोई कृपया इस स्थिति की व्याख्या कर सकता है?
पहला मामला:

getLatestStation = (stationId) => {
    return models.MonitoringDataInfo.findAll({
      where: {stationId :stationId},
      attributes: ['id', 'stationId', 'sentAt'],
      order : [['sentAt', 'DESC']],
      limit: 1,
      include : [{model: models.MonitoringData, attributes: ['idData', 'indicator', 'value', 'unit', 'sensorStatus']}]
    })
  }


पहला परिणाम:
छवि दर्ज करें  विवरण यहाँ


पहली क्वेरी:
[MonitoringDataInfo].*, [MonitoringData].[id] AS [MonitoringData.id], [MonitoringData].[idData] AS [MonitoringData.idData], [MonitoringData].[indicator] AS [MonitoringData.indicator], [ मॉनिटरिंगडेटा]। [मान] एएस [मॉनिटरिंगडेटा.वैल्यू], [मॉनिटरिंगडेटा]। [यूनिट] एएस [मॉनिटरिंगडेटा.यूनिट], [मॉनिटरिंगडेटा]। , [MonitoringDataInfo]। FETCH NEXT 1 ROWS केवल) के रूप में [MonitoringDataInfo] LEFT OUTER JOIN [Monitoring_data] AS [MonitoringData] ON [MonitoringDataInfo]।[id] = [MonitoringData].[idData] [MonitoringDataInfo] द्वारा आदेश।[sentAt] DESC;

दूसरा मामला:

getLatestStation = (stationId) => {
    return models.Station.findAll({
      attributes: ['id', 'name', 'address', 'envIndex'],
      where : {
        id : stationId,
        publicStatus : 1
      },
      include : [{
        model: models.MonitoringDataInfo, 
        limit: 1,
        // where : {
        //   stationId: stationId
        // },
        attributes: ['id', 'stationId', 'sentAt'],
        order : [['sentAt', 'DESC']],
        limit : 1,
        include : [{model: models.MonitoringData, attributes: ['idData', 'indicator', 'value', 'unit', 'sensorStatus']}]
      }]
    })
  } 


दूसरा परिणाम:
छवि दर्ज करें  विवरण यहाँ
दूसरी क्वेरी: [स्टेशन] चुनें। [आईडी], [स्टेशन]। [नाम], [स्टेशन]। [पता], [स्टेशन]। [envIndex] [स्टेशनों] से [स्टेशन] जहां [स्टेशन]। [आईडी] = एन 'mkkneh3uBrAkw9hepMlF' और [स्टेशन]। [publicStatus] = 1;
[MonitoringDataInfo] चुनें। idData], [मॉनिटरिंगडेटा]। [संकेतक] AS [MonitoringData.indicator], [MonitoringData]। [मान] AS [MonitoringData.value], [MonitoringData]। sensorStatus] AS [MonitoringData.sensorStatus] FROM [Monitoring_data_info] AS [MonitoringDataInfo] LEFT OUTER JOIN [monitoring_data] AS [MonitoringData] ON [MonitoringDataInfo]।[id] = [MonitoringData]। IN (N'mkkneh3uBrAkw9hepMlF') [MonitoringDataInfo] द्वारा ऑर्डर करें। [sentAt] DESC, [MonitoringDataInfo]। [id] OFFSET 0 ROWS FETCH NEXT 1 ROWS केवल;

0
Huu Tin 18 अप्रैल 2020, 11:58

1 उत्तर

सबसे बढ़िया उत्तर

पहली क्वेरी मॉनिटरिंगडेटा के रिकॉर्ड को दूसरे के विपरीत सीमित नहीं करती है। अलग इंगित करने का प्रयास करें: शामिल में सत्य:

include : [{model: models.MonitoringData, separate: true, attributes: ['idData', 'indicator', 'value', 'unit', 'sensorStatus']}]

1
Anatoly 18 अप्रैल 2020, 09:42