我想做一个简单的查询,这可能听起来很愚蠢,但我进行了大量的研究而无法理解。
想象一下,我有两个表(table1和table2)和两个列(table1.column1和table2.column2)。
我想要做的基本上是这样的:
SELECT column1 FROM table1 where table2.column2 = '0'
我不知道这是否可行。
提前致谢,
答案 0 :(得分:30)
你需要在两个talbes之间应用连接,而不是你可以应用你的where子句为你工作
select column1 from table1
inner join table2 on table1.column = table2.column
where table2.columne=0
对于加入信息,您可以看到此
阅读代码项目上的原始文章将对您有所帮助:Visual Representation of SQL Joins。
答案 1 :(得分:3)
SELECT column1 FROM table1 t1
where exists (select 1 from table2 t2
where t1 id = t2.table1_id and t2.column2 = '0')
假设table2中的table1_id是一个外键,引用table1的id作为主键
答案 2 :(得分:2)
两个表之间没有任何自然连接。
你要求
Select Houses.DoorColour from Houses, Cars where Cars.AreFourWheelDrive = '1'
您需要考虑为什么要从第一个表中选择任何内容,表1和表2之间必须有共享的信息,否则连接是没有意义的,可能很危险。