помогите пожалуйста написать вычисление (как я понимаю оно не сложное совсем, но знаний к сожалению не хватает)
ЗАДАЧА:
есть таблица Сотрудники и подтаблица Зарплата
в таблице Сотрудники поля:
"Остаток ЗП" (число)
в таблице Зарплаты поля:
"ФИО сотрудника" (связь с табл. Сотрудники)
"Начислено" (число)
"Списано" (число)
ВЫЧИСЛЕНИЕ:
Остаток ЗП = (по фильтру "ФИО сотрудника" сумма по полю "Начислено") - (по фильтру "ФИО сотрудника" сумма по полю "Списано")
посчитать разность из подтаблицы
Автор oknik, 28 янв. 2016 19:29
Сообщений в теме: 6
#1
Отправлено 28 Январь 2016 - 19:29
#3
Отправлено 02 Февраль 2016 - 01:24
подскажите в чем ошибка?
КОД:
ОШИБКА:
1: $sqlQuery1 = "SELECT sum(f6971) as summa FROM ".DATA_TABLE." 411 WHERE status=0 AND f6961='".$line['Наши сотрудники']['ID']."'";
2: $res1 = sql_query($sqlQuery1);
3: $row1 = sql_fetch_array($res1);
Ошибка SQL запроса:
SELECT sum(f6971) as summa FROM f_data 411 WHERE status=0 AND f6961=''
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '411 WHERE status=0 AND f6961=''' at line 1
КОД:
$sqlQuery1 = "SELECT sum(f6971) as summa FROM ".DATA_TABLE." 411 WHERE status=0 AND f6961='".$line['Наши сотрудники']['ID']."'"; $res1 = sql_query($sqlQuery1); $row1 = sql_fetch_array($res1); $summa1 = $row1['summa']; $sqlQuery2 = "SELECT sum(f6981) as summa FROM ".DATA_TABLE." 411 WHERE status=0 AND f6961='".$line['Наши сотрудники']['ID']."'"; $res2 = sql_query($sqlQuery2); $row2 = sql_fetch_array($res2); $summa2 = $row2['summa']; $line['Наши сотрудники']['Остаток ЗП'] = $summa1 - $summa2;
ОШИБКА:
1: $sqlQuery1 = "SELECT sum(f6971) as summa FROM ".DATA_TABLE." 411 WHERE status=0 AND f6961='".$line['Наши сотрудники']['ID']."'";
2: $res1 = sql_query($sqlQuery1);
3: $row1 = sql_fetch_array($res1);
Ошибка SQL запроса:
SELECT sum(f6971) as summa FROM f_data 411 WHERE status=0 AND f6961=''
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '411 WHERE status=0 AND f6961=''' at line 1
#4
Отправлено 02 Февраль 2016 - 10:27
if($line['Наши сотрудники']['ID'] > 0) {
$sqlQuery1 = "SELECT sum(f6971) as summa FROM ".DATA_TABLE."411 WHERE status=0 AND f6961='".$line['Наши сотрудники']['ID']."'";
$res1 = sql_query($sqlQuery1);
$row1 = sql_fetch_array($res1);
}
У вас в поле связи судя по всему нет пусто, и еще вместо".DATA_TABLE." 411
нужно
".DATA_TABLE."411
#5
Отправлено 02 Февраль 2016 - 13:24
wondertalik (02 Февраль 2016 - 10:27) писал:
if($line['Наши сотрудники']['ID'] > 0) {
$sqlQuery1 = "SELECT sum(f6971) as summa FROM ".DATA_TABLE."411 WHERE status=0 AND f6961='".$line['Наши сотрудники']['ID']."'";
$res1 = sql_query($sqlQuery1);
$row1 = sql_fetch_array($res1);
}
У вас в поле связи судя по всему нет пусто, и еще вместо"нет пусто" - ?
#6
Отправлено 02 Февраль 2016 - 19:57
сейчас такую ошибку выдает:
Ошибка системы.
Error generated:
Ошибка SQL запроса:
UPDATE f_data46 SET Наши сотрудники='' WHERE id=2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'сотрудники='' WHERE id=2' at line 1
Ошибка системы.
Error generated:
Ошибка SQL запроса:
UPDATE f_data46 SET Наши сотрудники='' WHERE id=2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'сотрудники='' WHERE id=2' at line 1
#7
Отправлено 03 Февраль 2016 - 11:57
А код какой? Откуда update то взялся? В коде выше его вроде как нет.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных













