如何将 SQL 查询与另一个表链接?
Posted
技术标签:
【中文标题】如何将 SQL 查询与另一个表链接?【英文标题】:How to link a SQL query with another table? 【发布时间】:2020-08-04 06:46:35 【问题描述】:我有一个查询返回状态缩写和查询的计数
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
进行匹配,其中我有完整的 States.Columns of States 表是 -stateID、StateName。
当前输出
【问题讨论】:
见meta.***.com/questions/333952/… 找不到答案 【参考方案1】:我将假设您的MATCH
在这里表示JOIN
在SQL
中。
如果是这种情况,您可以将代码放在临时表中,然后与您的 STATES
表左连接。
事实上,你可以输入一个子查询和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
【讨论】:
嘿,谢谢!但它给了我一个错误`#1064 - 你的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 4 行的“FROM Stripe_Transactions WHERE (state "0") AND (state IS NOT" 附近使用正确的语法` @DakshAngaraj,嘿,因为我使用的是 SQL Server,所以会有一些小的差异。我想问题出在temporary table
,也许你应该检查这个文档mysqltutorial.org/mysql-temporary-table以上是关于如何将 SQL 查询与另一个表链接?的主要内容,如果未能解决你的问题,请参考以下文章