nixsoid
Новичок
Две таблицы и выборка с условием из них.
Есть таблица товаров 'tab1':
| id1 | des1 | qty1 |
и 'tab2':
| id2 | des2 | qty2 | date | oldid |
Некоторые товары из 'tab1' скопированы в 'tab2' и их id из 'tab1' унаследованы в поле 'oldid'.
Но тепер надо вывести данные таблицы 'tab1' но с условием:
дается 'год-месяц-число' (vardate) и после этого года надо взять данные из 'tab2' с датой большей по значению данными 'date' и сравнить по совпадабщему 'oldid' с 'id1' и сложит только те 'qty1+qty2' которые эти id одинаковые. Я сделал так:
Просто он так одну строчку несколько раз выводит а как сделать что бы из таблицы 'tab1' что бы как есть выводил просто те строки которые совпадают по условием со строками из 'tab2' у них 'qty' слагались?
Есть таблица товаров 'tab1':
| id1 | des1 | qty1 |
и 'tab2':
| id2 | des2 | qty2 | date | oldid |
Некоторые товары из 'tab1' скопированы в 'tab2' и их id из 'tab1' унаследованы в поле 'oldid'.
Но тепер надо вывести данные таблицы 'tab1' но с условием:
дается 'год-месяц-число' (vardate) и после этого года надо взять данные из 'tab2' с датой большей по значению данными 'date' и сравнить по совпадабщему 'oldid' с 'id1' и сложит только те 'qty1+qty2' которые эти id одинаковые. Я сделал так:
PHP:
$sql = "SELECT * FROM tab1 where id1 !=0 ";
$result = @mysql_query($sql,$db);
for ($f = 0; $f < @mysql_num_rows($result); $f++) {
$id1= @mysql_result($result, $f, "id1");
$des1= @mysql_result($result, $f, "des1");
$qty1= @mysql_result($result, $f, "qty1");
$sql33 = "SELECT * FROM tab2 where date > '$vardate' ";
$result33 = @mysql_query($sql33,$db);
while ($res= mysql_fetch_array($result33)) {
if ($id1== $res['oldid']) {
$newqty=($res['qty2']+$qty1);
echo "$id1 - $des1 - $newqty <br>";
}
else
{
echo "$id1 - $des1 - $qty1 <br>";
}
}
}