Помогите одним запросом эту беду сделать, а то не получается.

Zaval

Новичок
Помогите одним запросом эту беду сделать, а то не получается.

PHP:
function OstatWork($id_w,$id_t)
{
  $res = mysql_query(" SELECT SUM(kol_go) AS kol
FROM  `tovar_go`
  WHERE id_w = '".$id_w."'
  AND   id_t = '".$id_t."'
  ");	echo mysql_error();
$row1 = mysql_fetch_array ($res);
  $res = mysql_query(" SELECT SUM(kol_out) AS kol
FROM  `tovar_out`
  WHERE id_w = '".$id_w."'
  AND   id_t = '".$id_t."'
  ");	echo mysql_error();
$row2 = mysql_fetch_array ($res);

  return $k = $row1['kol'] - $row2['kol'];
}
Так вроде должно работать, ан нет...

PHP:
function OstatWork($id_w,$id_t)
{
  $res = mysql_query(" SELECT
  SUM(tovar_go.kol_go - tovar_out.kol_out) AS kol
FROM
  tovar_go,
  tovar_out
  WHERE tovar_go.id_w = '".$id_w."'
  AND  tovar_out.id_w = '".$id_w."'
  AND   tovar_go.id_t = '".$id_t."'
  AND  tovar_out.id_t = '".$id_t."'
  ");	echo mysql_error();
  $row = mysql_fetch_array ($res);
  return $k = $row['kol'];
}
 

idencial

Одинаковый
Структуры таблиц кинь.
Кажись во втором случае неправильно объединение таблиц делаешь.

Попробуй так:

$res = mysql_query("SELECT SUM(tovar_go.kol_go -tovar_out.kol_out) AS kol FROM tovar_go, tovar_out WHERE tovar_go.id_w = tovar_out.id_w AND tovar_go.id_t = tovar_out.id_t");
 

chira

Новичок
Счетание id_w , id_t - для каждой таблицы является уникальным?
Если уникально , то количество записей удовлетворяющих условию
WHERE id_w = '".$id_w."'
AND id_t = '".$id_t."'
в обоих таблицах одинаково?
 

Zaval

Новичок
Счетание id_w , id_t - для каждой таблицы является уникальным?
Если уникально , то количество записей удовлетворяющих условию
WHERE id_w = '".$id_w."'
AND id_t = '".$id_t."'
в обоих таблицах одинаково?
id_w - связь с id продавца
id_t - связь с id товара
tovar_go.kol_go - товар выданный продавцу
tovar_out.kol_out - товар проданный продавцом

Функция должна вычислить остаток товара у продавца,
но проблема с AND - если товар не продавался. Ессно ничего и не выберается.
 

chira

Новичок
Попробуй такой запрос
SELECT SUM(tovar_go.kol_go -IFNULL(tovar_out.kol_out,0)) AS kol
FROM tovar_go LEFT JOIN tovar_out
ON tovar_go.id_w = tovar_out.id_w AND tovar_go.id_t = tovar_out.id_t
WHERE tovar_go.id_w = 1
and tovar_go.id_t = 2
 
Сверху