2013-08-06 2 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

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

Смежные вопросы