我有两个表,分别是firstname
,lastname
和amount
。“no no column”from select
我可以做一个左连接:
select * from spi left join dp
on spi.amount = dp.amount
and lower(spi.firstname) = lower(dp.firstname)
and lower(spi.lastname) = lower(dp.lastname);
这给了良好的效果:
|# |firstname |lastname |amount|dp.firstname |dp.lastname |dp.amount
|----+--------------+------------+------+-------------+-------------+---------
|1 |saumeh synah |s***** |50.0 | | |
|2 |Neda |M***** |1000.0| | |
|3 |Mansoor |B********** |100.0 | | |
|4 |Hanna |W**** |50.0 |Hanna |W**** |50.0
|5 |Kristen |A**** |40.0 |Kristen |A**** |40.0
|6 |David |B****** |10.0 |David |B****** |10.0
现在我想选择只是从dp
缺少的行。
所以我写:
select * from (
select * from spi left join dp
on spi.amount = dp.amount
and lower(spi.firstname) = lower(dp.firstname)
and lower(spi.lastname) = lower(dp.lastname))
where dp.amount = null;
,但我得到的错误
no such column: dp.amount
为什么不呢?
'其中dp.amount = null'将导致0行。总是。 –
@ypercube优秀的捕获,我专注于语法snafu,并没有事件思考破碎的逻辑;)现在更新响应 – billinkc