Как связать запрос SQL с другой таблицей? - PullRequest
0 голосов
/ 04 августа 2020

у меня есть запрос, который возвращает мне аббревиатуры состояний и количество запросов

 SELECT state, COUNT( state )
FROM Stripe_Transactions
WHERE (
state <> "0"
)
AND (
state IS NOT NULL
)
AND (
state <> " "
)
AND (
UPPER( Usertype ) = "PARENT"
)
GROUP BY state
LIMIT 0 , 30

Теперь я хочу сопоставить результаты этого запроса с другой таблицей STATES, где у меня есть полные формы Состояния. Столбцы таблицы состояний - это -stateID, StateName. Текущий ВЫХОД

Текущий выход

1 Ответ

1 голос
/ 04 августа 2020

Я предполагаю, что ваш MATCH здесь означает JOIN в SQL.

Если это так, вы можете поместить свой код во временную таблицу, а затем оставить соединение с вашим STATES table.

Фактически, вы можете ввести подзапрос и left_join, однако, я предполагаю, что вы более свежие, поэтому сделайте это просто.

SELECT state, COUNT( state )

INTO #a         --temporary table (I'm using SQL Server)

FROM Stripe_Transactions
WHERE (state <> "0")
  AND (state IS NOT NULL)
  AND (state <> " ")
  AND (UPPER(Usertype) = "PARENT")
GROUP BY state
LIMIT 0 , 30

Это вероятно, ваша state таблица

state_id  state_name
AK        Alaska
AL        Alabama
MS        Mississippi
NM        New Mexico

Это ваша CURRENT_OUTPUT, которая была помещена во временную таблицу с именем #a:

state_id    your_count
AK          15
AL          20
MS          21
NM          100

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

select state.state_id, 
       state.stateName, 
       #a.your_count  
from state
left join    
#a
on state.state_id = #a.state_id

РЕЗУЛЬТАТ:

state_id     state_name        your_count
AK           Alaska            15
AL           Alabama           20
MS           Mississippi       21
NM           New Mexico        100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...