小编cge*_*get的帖子

Google 表格:如何将一列网址和一列文本合并为一列?

如何将两个独立的标题栏和网页栏合并为一栏?

清单很长,我无法一一列出。谢谢

在此输入图像描述

google-sheets

4
推荐指数
1
解决办法
2557
查看次数

SQL 数据库中非规范化的实际示例?

过去 20 分钟我一直在阅读有关非规范化的内容,但无法获得带有代码的简洁示例。

这就是非规范化吗?


1.我们有一个规范化的数据库:

表_1:
customer_id(主键)
国家/地区
城市
街道
房屋号码

表_2:
product_id(主键)
customer_id(外键)
product_storage_building

表_3:
product_id(外键)
产品名称
产品颜色
产品原产地

  1. 但是,假设连接所有三个表的运行时间太长

        SELECT a.*, b.*, c.*
        FROM 
        TABLE_1 AS a
        LEFT JOIN TABLE_2 AS b
        ON a.customer_id = b.customer_id
        LEFT JOIN TABLE_3 AS c
        ON b.product_id = c.product_id
    
    Run Code Online (Sandbox Code Playgroud)

所以我创建了一个新Table_1Table_2

    CREATE OR REPLACE TABLE Denormalized_Data AS
    (
     SELECT customer_id, 
            country, 
            city,
            street, 
            house_number,
            product_id,
            product_storage_building
     FROM Table_1
          LEFT JOIN Table_2
          ON Table_1.cusomter_id = Table_2.customer_id
    )
Run Code Online (Sandbox Code Playgroud)
  1. 然后加入Table_3如下

     SELECT customer_id, 
            country, …
    Run Code Online (Sandbox Code Playgroud)

sql denormalization google-bigquery

4
推荐指数
2
解决办法
2万
查看次数

如何编写 SQL 函数以减少代码重复

我需要为多个国家/地区运行 SQL 函数

我想知道是否有一种方法可以创建一个函数,我可以在其中输入国家/地区名称并为每个国家/地区获取一个表格。这是我对德国的查询

SELECT customer.id,
       product_purchased,
       country
FROM sales_tables
WHERE country = 'Germany'
Run Code Online (Sandbox Code Playgroud)

所以我可以做这样的事情而不是改变代码中的每个国家

FUNCTION products_purchased_byCountry($1):
    SELECT customer.id,
           product_purchased,
           country
    FROM sales_tables
    WHERE country = '$1'
Run Code Online (Sandbox Code Playgroud)

然后只需使用以下命令调用此函数

products_purchased_byCountry(Germany)
products_purchased_byCountry(France)
products_purchased_byCountry(UK)
Run Code Online (Sandbox Code Playgroud)

或者也许要运行这样的函数,我必须通过 R 或 Python 来完成?

sql google-bigquery

3
推荐指数
1
解决办法
3760
查看次数