2013-08-06 107 views
0

在選擇查詢選擇數據我想要得到的結果,如果交易類型1存在不檢查交易類型3否則就應該選擇交易類型3從MySQL數據庫

基本上我有選擇那些在一段時間內沒有重新填充賬戶並且不得不失去餘額的客戶。但在註冊時,我將分配初始餘額,其中交易類型爲3.如果客戶在該持續時間之前沒有重新填充自己的賬戶,並且在註冊時已經分配了初始餘額,我也需要結束該餘額。

SELECT customer.* FROM `customer` 
LEFT JOIN transaction ON (customer.ID=transaction.CUSTOMER_ID) 
WHERE transaction.CREATED_AT NOT Between '2013-02-06 00:00:00' AND '2013-08-05 23:59:59' 
AND transaction.TRANSACTION_TYPE_ID=1 
AND transaction.transaction_status_id=3 AND customer.CUSTOMER_STATUS_ID=3 
GROUP BY customer.ID 

此查詢工作正常,給我的客戶的記錄,誰沒有補充他們的帳戶,但是當我添加或Transaction_type_id = 3這不給所需要的結果。

+0

我想獲取交易類型1的記錄,如果它有否則必須選擇交易類型3如果找不到類型1。 – Baran

+0

你能提供一個sqlfiddle而不是那個github thingy嗎? – Strawberry

回答

0

使用OR時是否包含括號?

SELECT customer.* FROM `customer` 
LEFT JOIN transaction ON (customer.ID=transaction.CUSTOMER_ID) 
WHERE transaction.CREATED_AT NOT Between '2013-02-06 00:00:00' AND '2013-08-05 23:59:59' 
AND (transaction.TRANSACTION_TYPE_ID=1 OR transaction.TRANSACTION_TYPE_ID=3) 
AND transaction.transaction_status_id=3 AND customer.CUSTOMER_STATUS_ID=3 
GROUP BY customer.ID 
+0

是的但它沒有按預期工作。 – Baran

+0

如果是這樣,你能否提供一些樣本數據和預期結果? – sel

+0

[鏈接] https://github.com/barankhan/sampledata.git – Baran