Ms-Access

將計數查詢合併到一個表行中

  • August 4, 2014

我正用頭撞牆,因為我確信這非常容易。

我設置了一些查詢來獲取一些相關表的計數。這是一個街機遊戲跟踪系統。查詢查看兩個表並返回每個遊戲中有多少在庫存中的計數

(SELECT Machine.MName, Count(Machine.Mid) AS CountOfMID
FROM Machine
GROUP BY Machine.MName
ORDER BY Machine.MName;)

另一個是出租的遊戲數量,它再次計算出租的每個遊戲(多份)的數量:

(SELECT Machine.MNAME, Count(Rental.Mid) AS CountOfMID1
FROM Machine LEFT JOIN Rental ON Machine.[MID] = Rental.[MID]
GROUP BY Machine.MNAME;)

我的問題是如何製作一份報告,列出每場比賽,然後將適當的計數拉到一邊?與此類似的東西是我所追求的:

CATEGORY --- NAME ------ INVENTORY ------ AVAILABLE ------ RENTED
Video........Frogger.........2...............1..............1.....
.............Metroid.........5...............1..............4....
Pinball......Simpsons........10..............8..............2....

我目前將所有有界控制項放在報告的 MName HEADER 中進行分組,我只需要最後一塊將這些計數放在同一列中。我已經嘗試將有界控制項的控制項源用作 sql 查詢,就像我在實際保存的查詢中一樣,它只是彈出一個“輸入參數”框,這意味著我用詞錯誤或其他什麼。

我想知道是否需要將數據放在報告的“詳細資訊”部分中,以將每一行與查詢中的表聯繫起來。不知道該怎麼做,我已經嘗試了所有方法並整晚都在Google上搜尋。

任何幫助將不勝感激。下圖:

關係 查詢之一 報表設計視圖 報告 - 幾乎完成

使用您提供的 SQL 定義定義查詢對象(稱為 Qrented 和 QInventory):

(SELECT Machine.MNAME, Count(Rental.Mid) AS CountOfMID1
FROM Machine JOIN Rental ON Machine.[MID] = Rental.[MID]
GROUP BY Machine.MNAME;)

和這個:

(SELECT Machine.MName, Count(Machine.Mid) AS CountOfMID
FROM Machine
GROUP BY Machine.MName
ORDER BY Machine.MName;)

現在從您的 Query 對象創建一個組合查詢,如下所示:

SELECT QInventory.MName, QInventory.CountOfMID as Inventory,
   QInventory.CountOfMID  - QRented.MIDI as Available,
   QRented.MIDI  as Rented
FROM QQInventory
LEFT JOIN QRented on QQInventory.MName = QRented.MName
ORDER BY Machine.MName;

引用自:https://dba.stackexchange.com/questions/73053