2017-12-17 6 views
0

私はデータベース上で作業していますが、問題が発生しました(合計noob)。まだこのアカウントに画像を投稿できません。自分の画像へのリンクを掲載しました。基本的には、私は予約テーブルとルームテーブルを持っています。私は、各部屋ごとに日付差分演算を行い、それに賃貸料を掛けて、部屋番号でグループ化したかったのです。 最終的な結果は、私が計算に必要なだけなので、日付差を隠した後のようになります。クエリの選択、MS Accessの複数のレコードの日付の相違

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<table style="width:100%"> 
 
    <tr> 
 
    <th>Room Number</th> 
 
    <th>Total</th> 
 
    
 
    </tr> 
 
    <tr> 
 
    <td>1</td> 
 
    <td>375</td> 
 
    
 
    </tr> 
 
    <tr> 
 
    <td>2</td> 
 
    <td>375</td> 
 
    
 
    </tr> 
 
    <tr> 
 
    <td>3</td> 
 
    <td>1680</td> 
 
    
 
    
 
    </tr> 
 
    <tr> 
 
    <td>4</td> 
 
    <td>700</td> 
 
    
 
    </tr> 
 
    <tr> 
 
    <td>6</td> 
 
    <td>60</td> 
 
    
 
    </tr> 
 
    <tr> 
 
    <td>7</td> 
 
    <td>540</td> 
 
    
 
    </tr> 
 
</table> 
 

 
</body> 
 
</html>

私は私のSQLクエリとしてこれを持っている:

SELECT [Room Number], 
DATEDIFF("d", min(CheckInDate), max(CheckOutDate)) as dif 
FROM Reservations 
GROUP by [Room Number] 

私も各部屋のためのDateDiff関数の作品を作るカントとして、私は、まだお金の一部のための計算をしませんでした。

enter image description here

+0

Stack Overflowに関する質問でテーブルを共有する方法については、[このメタ質問](https://meta.stackoverflow.com/a/359204/7296893)をお読みください。 HTMLテーブルはスクリーンショットよりも優れていますが、まだ余分なスペースを占めています。 –

答えて

0

私はあなたが各部屋-顧客ペアのDateDiff関数を計算し、その後room_idでグループする必要があると思います。あなたは、後の価格を、またはグループの間に、複数の価格を設定することができます。私は、MS-アクセスを知らないが、SQLロジックにより、それは次のようになります。

SELECT [Room Number], SUM(DATEDIFF("d", CheckInDate, CheckOutDate)) * price_per_night as dif 
FROM Reservations 
GROUP by [Room Number] 
+0

さて、あなたの答えは非常に近いです、私はそれに取り組まなければなりません。 –

0

のは、あなたの予約がテーブルに格納されていると仮定しましょう予約と呼ばれ、客室情報は、テーブルと呼ばれる部屋に格納されます。あなたは彼らが予約されたかどうか、全ての部屋を含めたい場合は 、これを使用する:

SELECT Rooms.[Room Number], Sum((Reservations.CheckOutDate-Reservations.CheckInDate)*Rooms.Price) AS [Total per room] 
FROM Reservations RIGHT JOIN Rooms ON Reservations.[Room Number] = Rooms.[Room Number] 
GROUP BY Rooms.[Room Number]; 

がRIGHTを交換INNER JOINことにより、あなたが予約された部屋でのみ興味があるなら参加します。

PS部屋7のHTMLサンプルが間違っています.1080(9 * 120)にする必要があります。

関連する問題