Как написать такую ​​SQL - PullRequest
0 голосов
/ 14 апреля 2020

Здесь есть две таблицы. Первый - user таблица, а второй - order таблица. Я хочу выбрать тех пользователей, у которых есть успешные записи order. Успешная запись order означает, что поле origin_cost не равно 0, а поле status должно быть S. enter image description here

enter image description here

Ниже приводится мое SQL утверждение:

select *
  from api_user user
 inner join pay_app_orders order
    on user.SNO = order.user_id
 where order.origin_cost != 0 and order.status = 'S'

Но есть несколько таких же user записей, я хочу получить отличную запись user, как решить эту проблему? enter image description here

Ответы [ 2 ]

2 голосов
/ 14 апреля 2020

попробуйте это:

select
 a.*,
 b.*
from
 user a
 left join order b on (b.key = a.key)
where
 b.status = 's'
 and b.origin_cost > 0
1 голос
/ 14 апреля 2020

Как вы упомянули, вы хотите, чтобы данные о пользователях только из таблицы user. Попробуйте это

select distinct user.*
  from api_user user
 inner join pay_app_orders order
    on user.SNO = order.user_id
 where order.origin_cost != 0 and order.status = 'S'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...