我有这样的观点:
CREATE VIEW view_listings AS (
SELECT
listings.*,
images.url AS "image.url"
FROM listings
LEFT JOIN images ON images.id = listings.image_id
)
查询时,我似乎无法在where子句中访问view_listings.image.url
。访问它的正确方法是什么?
SELECT *
FROM view_listings
WHERE view_listings.image.url IS NOT NULL
答案 0 :(得分:2)
这是因为您使用双引号" "
命名列。
您应该以相同的方式访问它 - view_listings."image.url"
。
尽管如此,我确实建议使用符号_
作为单词分隔符,并将列命名为image_url
,这样您就不必处理此问题并记住所有内容在查询中调用该列的时间。