ใช้ครับต้องการดู Balance ระหว่าง in กับ out แต่คือต่อให้ไม่มี out ข้อมูลที่ in ก็ยังแสดงอยู่ด้วยอะครับแล้วค่าของ out ก็ให้เป็น 0 จะทำได้ยังไงมั่งอะครับ ขอบคุณมากเลยนะครับพอดีพึ่งหัดเขียนเลยไม่มีความรู้อะไรเลย
ขอรบกวนอีกครั้งนะครับคือโค้ดที่คุณให้มาอะครับผมดึงค่า Balance ออกมาแสดงได้
แต่ผมไม่รู้ว่าจะถึงค่า sum ของ in กับ out ออกมายังไงอะ ช่วยแนะนำหน่อยได้ไหมครับผมไม่รู้จริง Code (PHP)
<?php require_once('Myconnection.php'); ?>
<?php session_start();
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
} mysql_select_db($database_Myconnection, $Myconnection);
$sqlobject = "UPDATE user SET Lastupdate = NOW() WHERE UserID = '".@$_SESSION["UserID"]."' ";
$queryobject = mysql_query($sqlobject,$Myconnection);
$num = 0;
$strSQL = "SELECT Name, SUM(QTYIN) - COALESCE((SELECT SUM(QTYOUT) FROM borrow AS s WHERE Name=NameDevice),0) as QTYtotal FROM equipment AS r GROUP BY Name";
$equipmentQuery = mysql_query ($strSQL,$Myconnection) or die ("Error Query [".$strSQL."]");
if(@$_SESSION["username"]==""){
echo '<script language="javascript">
function fncAlert()
{
alert(" กรุณา Login เข้าสู่ระบบก่อน ");
}
fncAlert();
window.location="index.php";
</script>';
}
session_write_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TableEquipment</title>
</head>
<body>
<table width="50%" align="center" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="10%"><div align="center">ลำดับ</div></td>
<td width="60%"><div align="center">รายชื่ออุปกรณ์</div></td>
<td width="10%"><div align="center">จำนวน</div></td>
</tr>
<?php while($equipmentResult = mysql_fetch_array($equipmentQuery)){?>
<?php $num++;?>
<tr>
<td><div align="center"><?php echo $num;?></div></td>
<td> <?php echo $equipmentResult["Name"];?></td>
<td><?php echo $equipmentResult["QTYtotal"]; ?>
</tr>
<?php } ?>
</table>
</body>
<?php mysql_close($Myconnection); ?>
</html>
SELECT Name, SUM(QTYIN) as IN, (SELECT SUM(QTYOUT) FROM borrow) as OUT, SUM(QTYIN) - COALESCE((SELECT SUM(QTYOUT) FROM borrow AS s WHERE Name=NameDevice),0) as QTYtotal FROM equipment AS r GROUP BY Name
ประมาณนี้ ลองเอาไปทดสอบก่อนที่จะถามคำถามต่อไปนะ
ขออณุญาตนะ รบกวนศึกษาเรื่อง sub query สักหน่อยก็ดีนะครับ
SELECT Name, SUM(QTYIN) as QTYIN, COALESCE((SELECT SUM(QTYOUT) FROM borrow WHERE Name=NameDevice),0) as QTYout, SUM(QTYIN) - COALESCE((SELECT SUM(QTYOUT) FROM borrow WHERE Name=NameDevice),0) as QTYtotal FROM equipment GROUP BY Name