所以我有一個問題關於LEFT JOIN,該代碼返回不同的值爲totalPoints取決於用戶是否得到了組與否。 (如果用戶沒有拿到團體或事件返回正確的值)問題與我LEFT JOIN,總結了它的結果,一個
我只是想掌握如何得到LEFT JOIN flow_ 有 _vote ON flow_ 有 _vote.flow_id = flows.id每次工作。我之前做了一個解決方案之前有三個查詢,一個獲取組和事件規則,一個檢查用戶是否得到組或事件考慮安全性和一個獲得流量...
而且我想我可以通過有兩個查詢來解決這個問題,一個可以獲取組和事件規則,另外還可以檢查用戶是否獲得了組和事件,然後根據用戶獲取流的應該有權訪問它。
現在我得到在一個查詢所需的每一個信息,然後檢查與IF語句是否應打印或不...
所以,我的問題是,是否有可能得到SUM(flow_ 有 _vote.points)AS totalPoints以這種方式工作?你知道嗎?
而且我有點古怪,是一種查詢最好的方式來處理這個?在考慮性能時使用兩個是否合理?
SELECT
flows.id AS flowId,
flows.security,
SUM(flow__has__vote.points) AS totalPoints,
users.id AS userId,
users.alias,
flows.event_id AS eventId,
events.group_id AS groupId,
events.membershipRules AS eMR,
groups.membershipRules AS gMR,
user__has__group.permission AS userHasGroup,
user__has__event.permission AS userHasEvent
FROM
users,
events LEFT JOIN user__has__event ON user__has__event.user_id = '.$userId.',
groups LEFT JOIN user__has__group ON user__has__group.user_id = '.$userId.',
flows LEFT JOIN flow__has__vote ON flow__has__vote.flow_id=flows.id
WHERE
flows.user_id = users.id AND
events.id = flows.event_id AND
groups.id = events.group_id AND
flows.id='.$flowId
如果你想知道的SQL語句是幹什麼的,獲得的流量(後),關於事件和組流量中的信息資料,檢查到該組的用戶訪問和事件也讓所有的票流...
這是表的樣子......
FLOWS id,security,event_id,user_id
USERS id, alias
EVENTS id, name group_id, membershipRules
GROUPS id, name, membershipRules
USER__HAS__GROUP user_id,group_id,permission
USER__HAS__EVENT user_id,event_id,permission
FLOW__HAS__VOTE flow_id,user_id,points
這是我想對...
+--------+----------+-------------+--------+--------+---------+---------+-----+-----+--------------+--------------+
| flowId | security | totalPoints | userId | alias | eventId | groupId | eMR | gMR | userHasGroup | userHasEvent |
+--------+----------+-------------+--------+--------+---------+---------+-----+-----+--------------+--------------+
| 1 | 2 | 1337 | 5 | Pontus | 15 | 2 | 2 | 2 | 4 | 4 |
+--------+----------+-------------+--------+--------+---------+---------+-----+-----+--------------+--------------+
0的結果
和一個例子......
+--------+----------+-------------+--------+--------+---------+---------+-----+-----+--------------+--------------+
| flowId | security | totalPoints | userId | alias | eventId | groupId | eMR | gMR | userHasGroup | userHasEvent |
+--------+----------+-------------+--------+--------+---------+---------+-----+-----+--------------+--------------+
| 1 | 2 | 1337 | 6 | Kezia | 15 | 2 | 2 | 2 | null | null |
+--------+----------+-------------+--------+--------+---------+---------+-----+-----+--------------+--------------+
享受生活〜龐
請張貼您的表格結構和關係。一些樣本數據和期望的結果也會非常有用。 – Galz 2011-05-14 10:58:22
希望有足夠的關係在WHERE聲明中給出... – Pontus 2011-05-14 11:58:17
仍在努力理解您的目標。你想獲得結果集中的所有事件,並在userHasEvent下查看這個用戶是否真的參與了這個事件? – Galz 2011-05-14 12:17:29