我有4個表的數據庫,Mysql的形成新的優化查詢
用戶數,優惠券,佔
從下列條件需要用戶數:
- 從users表中選擇所有用戶然後
- 選擇用戶不在最近14天列表中的計數,然後
- 選擇不在列表中的用戶,檢查是否存在coup桌上。如果他們沒有在優惠券表中,那麼把這些用戶ID然後
- 選擇帳戶表,並檢查這些用戶有任何計數或插入帳戶表中。如果是,則將所有這些用戶設置爲數組或將其打印出來。
請有人幫助我形成好的查詢嗎?
謝謝!
我有4個表的數據庫,Mysql的形成新的優化查詢
用戶數,優惠券,佔
從下列條件需要用戶數:
請有人幫助我形成好的查詢嗎?
謝謝!
如果我是右收用戶
看起來像一個奇怪的SQL,但這裏有是一個例子:
SELECT
*
FROM
user
WHERE user_id NOT IN
(
SELECT
user_id
FROM
`count`
WHERE
DATE_SUB(CURDATE(),INTERVAL 14 DAY) <= date_column
)
AND user_id NOT IN
(
SELECT
user_id
FROM
coupon
)
AND user_id IN
(
SELECT
user_id
FROM
account
)
如果這是不對的,你你想要什麼解釋是錯誤的,應該澄清。 這一切都可能是錯誤的SQL,因爲我不知道你的列(用戶ID?日期?)。但我認爲你可以改變你的喜好的SQL。
你做了什麼? – 2013-03-01 10:09:42
你能輸出所有表格之間的確切關係嗎?全部輸入並不會造成傷害。不要忘記在反引號(「\'」)之間放置'count',因爲'count'是一個用於計數操作的保留的mysql字符。' – Timmetje 2013-03-01 10:11:49
用戶有計數(一對多),有優惠券的用戶(一對一),有帳號的用戶(一對多) – Akaash 2013-03-01 10:15:41