• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال تخصصی sql
#1
سلام
دوستان مشکلی که من دارم این هست که در دستورات sql با join کردن چند table مجبور به استفاده از دستور AS برای دادن نام موقتی هستم
وقتی این دستور رو برای جمع کردن و SUM استفاده می کنم با مشکل مواجه می شم
  پاسخ
تشکر شده توسط :
#2
خب دوست عزیز ما الان باید حدس بزنیم مشکل شما چیه؟
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : Alaa
#3
SELECT cost.numbers AS mycost, ID.mytables AS test2
حالا من می خوام در mycost یک تابع جمع SUM قرار بدم راه حل چیست
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۵ اردیبهشت ۱۰, ۱۱:۱۸ ق.ظ)m_maj2004 نوشته: SELECT cost.numbers AS mycost, ID.mytables AS test2
حالا من می خوام در mycost یک تابع جمع SUM قرار بدم راه حل چیست

سلام، این کد رو گفتین جواب نمیده؟
کد:
SELECT SUM(cost.numbers) AS mycost, ID.mytables  AS test2
غایب
  پاسخ
تشکر شده توسط :
#5
از اونجایی که حدس می زنم دوستان متوجه سوال من نشدند کد های را بصورت کامل قرار می دم و سوال رو در آخر می پرسم
کد پی‌اچ‌پی:
<table id="t02">
            <
tr id="t02">
            <
th id="t02">ردیف</th>
            <
th id="t02">بیمه شده</th>        
            <
th id="t02">بیمه شده اصلی</th>
            <
th id="t02">تاریخ</th>
            <
th id="t02">مبلغ اعلام شده</th>
            <
th id="t02">مبلغ قابل پرداخت طبق تعرفه</th>
            <
th id="t02">فرانشیز</th>
            <
th id="t02">مبلغ پرداختی</th>
            </
tr>
            <?
php
            
if(isset($_GET['id'])){
        
$query ="select patients.name, patients.family , cost.cost, cost.realdateyear , cost.realdatemonth , cost.realdateday ,
        contracts.ID ,contracts.franshiz as co1, patients.company ,contracts.company, cost.type , tarrifs.ID, tarrifs.action, tarrifs.cost as co
from patients
inner join cost
inner join contracts
inner join tarrifs
on patients.single_ID = cost.single_ID
AND cost.type=tarrifs.ID
AND contracts.ID = patients.company 
AND cost.realdateyear BETWEEN '
$realdateyear' AND '$realdateyear2'
        AND cost.realdatemonth BETWEEN '
$realdatemonth' AND '$realdatemonth2'
        AND cost.realdateday BETWEEN '
$realdateday' AND '$realdateday2'";
        
$result mysqli_query($connection$query);
        
$number 0;
            while(
$row mysqli_fetch_assoc($result)){
                        
?>    
<tr>
<td id="t02"><?php $number++; echo fa_digits($number); ?></td>
<td id="t02"><?php echo $row['name'] . " " $row['family'] ;?></td>                    
<td id="t02"><?php echo $row['name'] . " " $row['family'] ;?></td>
<td id="t02"><?php echo fa_digits($row['realdateyear']) . "/" fa_digits($row['realdatemonth']) . "/" fa_digits($row['realdateday']); ?></td>
<td id=t02><?php echo fa_digits(number_format($row['cost'])) ?></td>
<td id="t02"><?php echo  fa_digits(number_format($row['co'])); ?></td>
<td id="t02"><?php echo  fa_digits(number_format($row['co'] * $row['co1'] / 100)); ?> </td>                    
<td id="t02"><?php $pardakhti = ($row['co']) - ($row['co'] * $row['co1'] / 100) ; echo fa_digits(number_format($pardakhti));?></td>
            <?php }} ?>
            </tr>
<tr>
<td colspan="7" align="center">جمع کل</td>
<td><?php echo fa_digits(number_format($pardakhti));?></td>
</tr>
            </table> 
در کد بالا هدف من این هست که بعد از بدست آوردن اطلاعات از دیتا بیس و نمایش اون در انتها یک جمع کل برای ستون آخر انجام بده
مشکل این هست من نمی دونم این جمع رو چطور باید نوشت
  پاسخ
تشکر شده توسط :
#6
یه متغییر تعریف کنید در حلقه جمع بزنید و در آخر نشونش بدید
نیازی به sql نیست
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۵ اردیبهشت ۱۰, ۰۶:۴۱ ب.ظ)Reza نوشته: یه متغییر تعریف کنید در حلقه جمع بزنید و در آخر نشونش بدید
نیازی به sql نیست

ممنون دوست عزیز
میشه یک مثال بزنید
ممنون میشم
  پاسخ
تشکر شده توسط :
#8
Dodgy
کد پی‌اچ‌پی:
<table id="t02">
            <
tr id="t02">
            <
th id="t02">ردیف</th>
            <
th id="t02">بیمه شده</th>        
            <
th id="t02">بیمه شده اصلی</th>
            <
th id="t02">تاریخ</th>
            <
th id="t02">مبلغ اعلام شده</th>
            <
th id="t02">مبلغ قابل پرداخت طبق تعرفه</th>
            <
th id="t02">فرانشیز</th>
            <
th id="t02">مبلغ پرداختی</th>
            </
tr>
            <?
php
            $sumAll 
0;
            if(isset(
$_GET['id'])){
        
$query ="select patients.name, patients.family , cost.cost, cost.realdateyear , cost.realdatemonth , cost.realdateday ,
        contracts.ID ,contracts.franshiz as co1, patients.company ,contracts.company, cost.type , tarrifs.ID, tarrifs.action, tarrifs.cost as co
from patients
inner join cost
inner join contracts
inner join tarrifs
on patients.single_ID = cost.single_ID
AND cost.type=tarrifs.ID
AND contracts.ID = patients.company 
AND cost.realdateyear BETWEEN '
$realdateyear' AND '$realdateyear2'
        AND cost.realdatemonth BETWEEN '
$realdatemonth' AND '$realdatemonth2'
        AND cost.realdateday BETWEEN '
$realdateday' AND '$realdateday2'";
        
$result mysqli_query($connection$query);
        
$number 0;
            while(
$row mysqli_fetch_assoc($result)){
                        
?>    
<tr>
<td id="t02"><?php $number++; echo fa_digits($number); ?></td>
<td id="t02"><?php echo $row['name'] . " " $row['family'] ;?></td>                    
<td id="t02"><?php echo $row['name'] . " " $row['family'] ;?></td>
<td id="t02"><?php echo fa_digits($row['realdateyear']) . "/" fa_digits($row['realdatemonth']) . "/" fa_digits($row['realdateday']); ?></td>
<td id=t02><?php echo fa_digits(number_format($row['cost'])) ?></td>
<td id="t02"><?php echo  fa_digits(number_format($row['co'])); ?></td>
<td id="t02"><?php echo  fa_digits(number_format($row['co'] * $row['co1'] / 100)); ?> </td>                    
<td id="t02"><?php $pardakhti = ($row['co']) - ($row['co'] * $row['co1'] / 100) ; 
$sumAll $sumAll $pardakhti;
echo 
fa_digits(number_format($pardakhti));?></td>
            <?php }} ?>
            </tr>
<tr>
<td colspan="7" align="center">جمع کل</td>
<td><?php echo fa_digits(number_format($sumAll));?></td>
</tr>
            </table> 
  پاسخ
تشکر شده توسط :
#9
آقا دست شما درد نکنه
کارم راه افتاد
Smile
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان