我不太熟悉在查詢中使用'join'。我真的試過自己解決這個問題,但似乎太難了。Mysql - 加入2個限制的查詢
我有2個表:
Table 'users':
+-----------------+-----------------+
| member | online |
+-----------------+-----------------+
| mahran | 1 |
| peter | 1 |
| Jen | 1 |
| Steve | 0 |
+-----------------+-----------------+
Table 'tickets'
+-----------------+----------------+----------------+
| name | category | time |
+-----------------+----------------+----------------+
| mahran | silver | 1 |
| peter | blue | 1 |
| mahran | blue | 2 |
| peter | red | 3 |
| peter | green | 2 |
| Jen | silver | 1 |
+-----------------+----------------+----------------+
的chellange:
我需要每個成員(users.member)誰在線(users.online)。接下來的事情是用最高時間(可能是ORDER BY time DESC LIMIT 1)獲取每個成員的類別(user.member = tickets.name)。
因此,例如: Peter在線。彼得斯最高時間在紅色類別的位置是3。所以我希望彼得以「紅色」的分類出現在結果中。馬赫蘭會出現藍色。仁會得到銀子。史蒂夫因爲不在線而被拒之門外。
我希望這很清楚。一般來說,我知道查詢的樣子是怎樣的,但是我沒有機會將它們合併在一起。
有什麼需要合併:
SELECT member FROM users WHERE online = 1;
|
v for each member
SELECT category FROM tickets WHERE name=users.member ORDER BY time DESC.
因此,任何想法如何解決這個問題?
這裏是一個沒有工作的查詢小提琴:Click
加入會員不是一個好主意。使用主鍵和外鍵。 – 2014-09-03 10:37:09