查询#1:
SELECT
destination_content.content,
destination_content.state
FROM destination_content
给我
State Content
AZ Lorem
AZ Ipsum
AZ Dolor
NC Sit
NY Blabla
查询#2:
SELECT
properties.state,
properties.name
FROM properties
WHERE properties.active = 1
给我
State Content
AZ Ritz Carlton
AZ Hotel Malala
NY Gilt NY
我想将查询#1和查询#2组合起来,这样:
我得到了查询#1的结果,但它被过滤了,所以的结果
NC Sit
不会出现。
最终结果应该是:
State Content
AZ Lorem
AZ Ipsum
AZ Dolor
NY Blabla
没有出现,因为北卡罗来纳州没有活跃的房产。所以我想通过活动属性状态进行筛选。
组合这些查询最简洁的方法是什么?
编辑:也许我的大脑不能在ATM上工作,但我尝试了INNER JOIN properties ON ( destination_content.state = properties.state )
,但这给了我比我需要的更多的行结果。最初我会返回230,因为有230个内容片段,但在加入后,它变成了1000个左右。我忘了什么?
您应该加入表:
SELECT dc.content, dc.state
FROM destination_content dc
INNER JOIN properties p ON ( dc.state = p.state AND dc.content = p.content )
WHERE p.active = 1
如果您在每个表中都有一个主键(ID),那么BTW联接表应该会容易得多。