Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ต้องการรวมข้อมูลภายในตารางและนำข้อมูลจาก 2 ตารางมาลบกันเพื่อให้ได้คำตอบ



 

ต้องการรวมข้อมูลภายในตารางและนำข้อมูลจาก 2 ตารางมาลบกันเพื่อให้ได้คำตอบ

 



Topic : 125987



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์




คือมีข้อมูลอยู่ 2 ตารางต้องการนำข้อมูลจาก 2 ตารางมาบวกลบกัน
1
2
ต้องการให้ได้ผลลัพออกมาแบบนี้
3



Tag : PHP, MySQL, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-01-10 18:42:25 By : blackjome View : 975 Reply : 13
 

 

No. 1



โพสกระทู้ ( 5,146 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เขียนโค้ดไว้แบบใหนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-10 19:11:38 By : deawx
 


 

No. 2



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : deawx เมื่อวันที่ 2017-01-10 19:11:38
รายละเอียดของการตอบ ::
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(Number) as QTY FROM equipment 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>&nbsp;<?php echo $equipmentResult["Name"];?></td>
    <td><?php echo  $equipmentResult["QTY"]; ?>
</tr>
<?php } ?>
</table>
</body>
<?php mysql_close($Myconnection); ?>
</html>

ตอนนี้ยังทำได้แค่นี้อะครับแล้วไม่รู้จะเอาค่าจาก 2 ตารางมาคิดได้ยังไง
4
แล้วคืออยากให้แบบว่าต่อให้ข้อมูลมีแค่ในตารางใดตารางนึงก็แสดงขึ้นมาด้วยอะครับมีวิธีไหนที่ทำได้มั่งพอแนะนำให้หน่อยได้ไหมครับพอดีพึ่งหัดเขียนอะไรพวกนี้อะครับไม่มีพื้นฐานเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-10 22:49:13 By : blackjome
 

 

No. 3



โพสกระทู้ ( 5,146 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ทำไมไม่เห็นมีในตารางเลยครับ ที่ท่านเขียนโค้ดมา เอามาครบไหมครับ ตาราง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 10:27:28 By : deawx
 


 

No. 4



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : deawx เมื่อวันที่ 2017-01-11 10:27:28
รายละเอียดของการตอบ ::
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) as QTY FROM equipment 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>&nbsp;<?php echo $equipmentResult["Name"];?></td>
    <td><?php echo  $equipmentResult["QTY"]; ?>
</tr>
<?php } ?>
</table>
</body>
<?php mysql_close($Myconnection); ?>
</html>

โทษทีครับโค้ดผิดของดีอันนั้นอันเก่าครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 10:41:31 By : blackjome
 


 

No. 5



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์


พูดง่ายๆ คุณต้องการดู Balance (In, Out)

ผมเคยตอบไว้กระทู้หนึ่งแล้ว แต่ผมหาไม่เจอ
ถ้าต้องการบวกกันอย่างเดียว ให้ใช้ Union ALL แล้ว SUM



แต่ถ้าต้องการ Balance ให้ใช้ SQL ตามนี้

Code (SQL)
SELECT r.model, SUM(r.qty) - COALESCE((SELECT SUM(s.qty) FROM fgout AS s WHERE r.model=s.model),0) as total FROM fgin AS r GROUP BY r.model


ไปแก้เอาเองนะ อันนี้ผมเขียนไว้ใช้งานในระบบ Warehouse ที่โรงงาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 10:53:16 By : limberger
 


 

No. 6



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : limberger เมื่อวันที่ 2017-01-11 10:53:16
รายละเอียดของการตอบ ::
ใช้ครับต้องการดู Balance ระหว่าง in กับ out แต่คือต่อให้ไม่มี out ข้อมูลที่ in ก็ยังแสดงอยู่ด้วยอะครับแล้วค่าของ out ก็ให้เป็น 0 จะทำได้ยังไงมั่งอะครับ ขอบคุณมากเลยนะครับพอดีพึ่งหัดเขียนเลยไม่มีความรู้อะไรเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 11:08:48 By : blackjome
 


 

No. 7



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์


sql ผมเขียนไว้ครอบคลุมหมดละ

คุณควรจะเอาไปทดลองก่อนครับ แล้วค่อยมาถามซ้ำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 11:10:59 By : limberger
 


 

No. 8



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : limberger เมื่อวันที่ 2017-01-11 11:10:59
รายละเอียดของการตอบ ::
ครับจะลองดูนะครับขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 11:14:23 By : blackjome
 


 

No. 9



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : limberger เมื่อวันที่ 2017-01-11 11:10:59
รายละเอียดของการตอบ ::
ขอรบกวนอีกครั้งนะครับคือโค้ดที่คุณให้มาอะครับผมดึงค่า 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>&nbsp;<?php echo $equipmentResult["Name"];?></td>
    <td><?php echo  $equipmentResult["QTYtotal"]; ?>
</tr>
<?php } ?>
</table>
</body>
<?php mysql_close($Myconnection); ?>
</html>



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 11:57:13 By : blackjome
 


 

No. 10



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์


Code (SQL)
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 สักหน่อยก็ดีนะครับ


ประวัติการแก้ไข
2017-01-11 13:03:28
2017-01-11 13:07:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 12:58:41 By : limberger
 


 

No. 11



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : limberger เมื่อวันที่ 2017-01-11 12:58:41
รายละเอียดของการตอบ ::
ขอบคุณมากครับ ขอโทษด้วยนะครับจะลองไปศึกษาดูนะครับพอดีพึ่งหัดเขียนได้ ไม่กี่วันจริง ๆ ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 13:42:33 By : blackjome
 


 

No. 12



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : limberger เมื่อวันที่ 2017-01-11 12:58:41
รายละเอียดของการตอบ ::
ได้แล้วครับขอบคุณมาก ๆ เลยนะครับ
Code (SQL)
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

4

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 14:48:53 By : blackjome
 


 

No. 13



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-11 15:48:03 By : limberger
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการรวมข้อมูลภายในตารางและนำข้อมูลจาก 2 ตารางมาลบกันเพื่อให้ได้คำตอบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่