我的模型是z=[[p[(i,j)] for j in range(3)] for i in range(3)]
。这些表格与A as many B
和A.id
相关联。 B.item_id
有一个名为B
的列。我需要从created_at
中选择所有行,以使A
大于2016-09-1`。我想知道是否可以使用类似于此的查询解决该问题:
B.created_at
答案 0 :(得分:0)
您可以使用JOIN
执行此操作,只选择A
:
Select A.*
From A
Join B On A.id = B.item_id
Where B.created_at > '2016-09-01'
答案 1 :(得分:0)
select A.*
from A
left join B
on B.item_id=A.id
where B.created_at >= '2016-09-1'
答案 2 :(得分:0)
需要从A中选择所有行,使得B.created_at大于'2016-09-1'
select * from A where exists(SELECT 1
FROM B
WHERE B.item_id = A.id)
b.created_at>= '2016-09-1')
答案 3 :(得分:0)
通常,可以使用包含日期过滤条件的INNER JOIN来完成此操作。类似的东西:
SELECT A.*
FROM A
INNER JOIN B
ON A.id = B.Iditem_id
AND B.created_at > '2016-09-01'
这是执行此操作的T-SQL方法。
您还可以应用一个简单的WHERE子句 - 您需要检查执行计划,看看这些选项中的任何一个是否真正产生了影响......
SELECT A.*
FROM A
INNER JOIN B
ON A.id = B.Iditem_id
WHERE B.created_at > '2016-09-01'
如果你想首先使用表B中的子集......你可以......
SELECT A.*
FROM A
INNER JOIN (
SELECT B.*
FROM B
WHERE B.created_at > '2016-09-01')
)Bsub
ON A.id = Bsub.Iditem_id
所有这些都适用于T-SQL,不能与其他类似SQL的语言对话。