Всем привет, нужно привязать GroupName к каждому счетчику. не могу разобраться вроде и мануалы про запросы прочитал и всё равно никак. имеется запрос Код (Text): $sqlquery = " SELECT [dm_Devices].[LogId] ,[cp_Data].[Time] ,[cp_Data].[Value] ,[RW_ReceivedData].[NormValue] ,[ObjectGroups].[GroupName] FROM [ADDAXDB_APPSERVER].[dbo].[cp_Data], [ADDAXDB_APPSERVER].[dbo].[dm_Devices], [ADDAXDB_APPSERVER].[dbo].[ObjectGroups], [ADDAXDB_APPSERVER].[dbo].[RW_ReceivedData] WHERE [cp_Data].[Time] >= ? and [cp_Data].[Time] <= ? and [RW_ReceivedData].[Time] = [cp_Data].[Time] and [cp_Data].[LogicalName] = 0x01000F0800FF and [RW_ReceivedData].[LogicalName] = [cp_Data].[LogicalName] and [cp_Data].[DeviceId] = [dm_Devices].[Id] and [RW_ReceivedData].[DeviceId] = [dm_Devices].[Id] and [dm_Devices].[SerialNo] = ? "; $params = array(date_format(date_create($_POST['datefr'] . " 00:00:00"), 'Ymd'), date_format(date_create($_POST['dateto'] . " 23:59:00"), 'Ymd H:i:s'), $serialNumber); $query = sqlsrv_query($conn, $sqlquery, $params); if (sqlsrv_has_rows($query) === false){ echo "<BR> В данном промежутке времени отстутствуют показания. <BR>"; exit(); } Сам вывод Код (Text): <div class="deviceInfo"> <br> <center><table border='1'><tr><th>ID счётчика</th><th>Время</th><th>Коэффициент </th><th>Показания счётчика</th></tr></center> <!-- ######################################################################################################################################################################## --> <?php $sum_no_trans = 0; $i = 0; $lastsum_no_trans = 0; while( $row = sqlsrv_fetch_array( $query, SQLSRV_FETCH_ASSOC) ) { if ($row['NormValue'] <> 356 && (empty($_POST['chk_daily']) || (date_format($row['Time'], 'H') == 0 && date_format($row['Time'], 'i') == 0)) && $row['Value'] <> 0){ echo "<tr><td>", $row['LogId'], "</td><td>", date_format($row['Time'], 'H:i d-m-y'), "</td><td>", sprintf("%u", $row['Value']/$row['NormValue']), "</td><td>", sprintf("%.2f ", $row['NormValue']/1000), "</td>", sprintf("%s", $row['GroupName']), "</td></tr>"; if (!$i) { $sum_no_trans = -$row['NormValue']; } $lastsum_no_trans = $row['NormValue']; $i++; } } $sum_no_trans += $lastsum_no_trans; echo "<td colspan='2'>Всего за период:</td><td>", sprintf("%.2f"), "</td><td>", sprintf("%.2f", $sum_no_trans/1000), "</td></tr>"; ?> <!-- ######################################################################################################################################################################## --> </table> </div> Текст расположен в [ObjectGroups].[GroupName] как можно привязать GroupName к нужному счетчику, непосредственно вязать к одному из ключа остальных таблиц? с помощью WHERE? Можно пример допустим если в таблице objectGroups есть айди соответствующий [dm_Devices].[Id].как организовать связь
JOIN ..... left join, right join, inner join в вашем случае left join, но потом группировку не забыть
в начальном посте всё описано сумбурно, попытаюсь объяснить ещё раз а также описать все ньюансы, пожалуйста помогите есть программа и сайт, в программе нормально отображаются данные об определенном устройстве, когда появилось желание вывести на сайт таким же столкнулся с проблемой, все данные находятся в разных таблицах, к примеру айди устройства и его описание, не в одной базе где занесена данная информация нету ключевых значений по которым бы можно было сравнить и вывести на сайт Попробую привести пример, есть бд с именами и фамилиями dbo.names Имя | ID Петруха | 3 Антоха | 19 Serg | 4 dbo.familia Фамилия | возраст Сергеев | 22 Алёшин | 19 Иванов | 34 Эти данные хаотично разложены к примеру Фамилия Сергеев соответствует имени Антоха, чтобы выложить их на сайт с помощью запроса нужен ключ в базе фамилия к примеру ID,так вот я перерыл все таблицы и не нашёл не в одной подходящего ключа по которому возможно было бы их объединить и вывести в соответствии друг другу. НО! в программе которая привязана к этой базе выводятся данные уже привязанными как нужно, каким образом это возможно?
@nkjast, возможно, всё-таки есть ещё таблица, в которой есть id из таблицы names и id (или фамилия) из таблицы familia Ещё наводящий вопрос: в "той программе" каким образом вносится информация о новом человеке?
удалось отыскать,сейчас не могу разобраться с вопросом как сделать запрос на вывод одного из элементов таблицы к примеру: отыскать id взятый методом $_GET['id']; в таблице и при первом совпадении извлечь значение имени из этой строки где был найден схожий айди