2015-11-04 3 views
-1

У меня есть 3 таблицы, как следующийMySQL генерировать столбец, основанный на если условие

User  Advertisement  Payment 

id  id     id 
name  title    user_id 
address description  ad_id 
          payment_type 

Для этих таблиц я хочу, чтобы создать таблицу, как показано ниже для зарегистрированных пользователей, независимо от payment_type:

id title  is_paid 
1  first ad  0 //if not paid 
2  second ad  1 //paid 
3  third ad  1 
4  fourth ad  0 
5  fifth ad  1 

До сих пор я ничего не мог сделать, так как я понятия не имею, как добавить дополнительный столбец в mysql m или использовать if condition в запросе.

Я не прошу вас писать код для меня, но можете ли вы сообщить мне, какой подход использовать для этого?

ответ

2

Если я правильно понять, вы можете использовать outer join с case заявлением:

select a.id, a.title, 
    case when p.id is not null then 1 else 0 end is_paid 
from advertisement a 
    left join payment p on a.id = p.ad_id and p.user_id = 123 
+0

ок. Он отлично работал –