我有一个sql视图,这不是我的代码:
SELECT
`view_combined_rev_data`.`date` AS `date`,
`view_combined_rev_data`.`book_title` AS `book_title`,
`view_combined_rev_data`.`marketplace` AS `marketplace`,
`view_combined_rev_data`.`amazon_kdp_avg_list_price` AS `amazon_kdp_avg_list_price`,
`view_combined_rev_data`.`amazon_kdp_royalty_type` AS `amazon_kdp_royalty_type`,
`view_combined_rev_data`.`amazon_kdp_revenue_in_usd` AS `amazon_kdp_revenue_in_usd`,
`view_combined_rev_data`.`amazon_kdp_royalty_in_usd` AS `amazon_kdp_royalty_in_usd`,
`view_combined_rev_data`.`amazon_kdp_paid_downloads` AS `amazon_kdp_paid_downloads`,
`view_combined_rev_data`.`amazon_kdp_free_downloads` AS `amazon_kdp_free_downloads`,
`view_combined_rev_data`.`amazon_ku_pages_read` AS `amazon_ku_pages_read`,
`view_combined_rev_data`.`amazon_ku_revenue_in_usd` AS `amazon_ku_revenue_in_usd`,
`view_combined_rev_data`.`create_space_revenue_in_usd` AS `create_space_revenue_in_usd`,
`view_combined_rev_data`.`create_space_royalty_in_usd` AS `create_space_royalty_in_usd`,
`view_combined_rev_data`.`create_space_paperbacks_sold` AS `create_space_paperbacks_sold`,
(
(
`view_combined_rev_data`.`amazon_kdp_revenue_in_usd` + `view_combined_rev_data`.`amazon_ku_revenue_in_usd`
) + `view_combined_rev_data`.`create_space_revenue_in_usd`
) AS `daily_total_revenue`,
(
(
`view_combined_rev_data`.`amazon_kdp_royalty_in_usd` + `view_combined_rev_data`.`create_space_royalty_in_usd`
) + `view_combined_rev_data`.`amazon_ku_revenue_in_usd`
) AS `daily_total_royalty`
FROM
`view_combined_rev_marketplace_data` `view_combined_rev_data`我的问题很简单:为什么在这行中使用view_combined_rev_marketplace_data。我在其他地方找不到使用它的代码,所以我可以简单地删除它吗?
FROM
`view_combined_rev_marketplace_data` `view_combined_rev_data`发布于 2017-09-14 18:50:27
这是您的FROM子句:
FROM `view_combined_rev_marketplace_data` `view_combined_rev_data`第一个名称view_combined_rev_marketplace_data是存在于数据库中的表或视图(假设是视图)的名称。
第二个名称view_combined_rev_data是一个表别名。这就是表/视图在查询中的引用方式。
我建议您使用表/视图别名,它们是表/视图名称的缩写,如下所示:
FROM `view_combined_rev_marketplace_data` vcrmd然后,对列的引用将如下所示:
SELECT vcrmd.`date` AS `date`,
vcrmd.`book_title` AS `book_title`,
. . .这将进一步简化为:
SELECT vcrmd.`date`,
vcrmd.`book_title`,
. . .在这种情况下,列别名(在as之后提供的名称)是不必要的,因为它缺省为列名。但请注意,本地编码样式可能建议使用显式列别名。
发布于 2017-09-14 18:51:59
FROM
`view_combined_rev_marketplace_data` `view_combined_rev_data`这不是两个视图,而是一个别名为view_combined_rev_data的视图view_combined_rev_marketplace_data。
当使用别名引用表/视图/函数时,必须在语句中使用别名,而不是对象的名称。通常,别名是为了提供对SQL对象的更短或更具可读性的引用。在这种情况下,它相对较长。
https://stackoverflow.com/questions/46216997
复制相似问题