插入外鍵的計數更新的表我有兩個表:從其他表
╔════════════════╗ ╔════════════════╗
║ ITEM ║ ║ ITEM_TRACK ║
╠════════════════╣ ╠════════════════╣
║ ID ║ ║ ID ║
║ GUID ║ ║ ITEM_GUID ║
║ COUNT1 ║ ║ CONTEXT ║
║ ENDDATE ║ ║ ║
╚════════════════╝ ╚════════════════╝
╔═════╦══════╦════════╗ ╔═════╦═══════════╦══════════╗
║ ID ║ GUID ║ COUNT1 ║ ║ ID ║ ITEM_GUID ║ CONTEXT ║
╠═════╬══════╬════════╣ ╠═════╬═══════════╬══════════╣
║ 1 ║ aaa ║ ║ ║ 1 ║ abc ║ ITEM ║
║ 2 ║ bbb ║ ║ ║ 2 ║ aaa ║ PAGE ║
║ 3 ║ ccc ║ ║ ║ 3 ║ bbb ║ ITEM ║
║ 4 ║ abc ║ ║ ║ 4 ║ ccc ║ ITEM ║
╚═════╩══════╩════════╝ ║ 5 ║ abc ║ ITEM ║
║ 6 ║ aaa ║ ITEM ║
║ 7 ║ abc ║ ITEM ║
║ 8 ║ ccc ║ PAGE ║
╚═════╩═══════════╩══════════╝
我試圖做的是填寫COUNT1列項與數量的計數ITEM_GUID出現在所有ITEM.GUID的ITEM_TRU中,ENDDATE仍在將來。我需要爲ITEM中的所有GUIDS每小時做一次。
我可以計數我需要輕鬆
SELECT ITEM_GUID, COUNT(*) from ITEM_TRACK GROUP BY ITEM_GUID;
什麼我不知道該怎麼做的是,我怎麼合併這與INSERT INTO語句來自動更新的項目表中的所有項目根據他們的ENDDATE計數?
UPDATE: 我有一個工作解決方案基於Aquillo的回答是:
UPDATE ITEM a
SET COUNT1 = (SELECT COUNT(*) AS total FROM ITEM_TRACK b WHERE b.item_guid=a.guid);
是否有任何其他方式做到這一點沒有一個子查詢?
好的。這不正是我想要的,但它確實幫助我得到一個工作解決方案....有沒有辦法做到這一點,而不做子查詢? – kasdega