Совершенно новый для всего материала SQL/PHP - проваливался с базовыми запросами и выводил их на PHP ранее, но теперь пытается что-то более сложное и надеется, что кто-то может помочь с этим, поскольку я пытался работать его без везения до сих пор:Объедините несколько запросов, чтобы получить ответ на одну сумму
У меня 2 MS SQL таблицы:
Таблица 1 - разломы
faultid ... requestnumber
1 ........... 6
2 ........... 5
3 ........... 6
Таблица 2 - действия
faultid ....who ..... when...... timetaken
1.......... John....... Mon......... 1.00
2.......... Peter...... Mon.......... 2.00
3.......... Luke....... Tues........ 1.00
2.......... John....... Tues........ 0.5
1.......... Mike....... Mon......... 0.75
То, что я пытаюсь добиться, это создать переменную можно использовать в основе веб-страницы, передний конец PHP, который получает сумму TimeTaken столбца в таблице 2, где requestnumber в таблице 1 равно конкретный число (т.е. 6)
Я предполагаю, что он начнет что-то вроде:
$sql1 = "select faultid FROM Faults WHERE requestnumber = '6'";
$sqlresult = sqlsrv_query($conn, $sql1);
while ($row = sqlsrv_fetch_array($sqlresult)){
}
После этого я получаю немного застрял. Как я беру каждый результат из этого, а затем запускаю другой запрос, чтобы получить сумму столбца timetaken
в Таблица 2 только для соответствующих ошибок? Я хочу поставить под угрозу использование foreach
, но не уверен в синтаксисе (или даже если я правильно догадываюсь).
Итак, в этом примере я бы получил результат 2.75
как переменную в PHP
.
Любая помощь будет оценена по достоинству. Заранее спасибо.
Энди
Также думал, что я мог бы получить результат, используя только SQL запрос типа: SELECT SUM (TimeTaken) от действий WHERE faultid = (выберите Faultid из Неисправности WHERE requestnumber = '6'); но это просто приводит к ошибке относительно слишком большого количества результатов. – Morty500
один выбор с соединением должен работать –