douliao7354 2017-03-23 17:29 采纳率: 0%
浏览 20
已采纳

表在BigQuery中联接

Do you know if there's a way to join two tables by, for example, using a foreign key constraint like in MySQL (I don't seem to find anything about this) ? If not, is there a replacement ?

Thanks!

  • 写回答

2条回答 默认 最新

  • dtmtu02882 2017-03-24 23:55
    关注

    I interpret your question as below -

    Is there a way to limit the values that can be used on the tableX to only the IDs that exist on the tableY? For example via using a foreign key constraint like in MySQL!

    BigQuery does not provide any direct mechanism for this to happen.
    But you can easily achieve this by yourself.

    For example, assume you need to insert some data to tableX, but you want to make sure that only those rows will be inserted where id in that new data is in tableY

    So, you can "enforce" this via below query

    #standardSQL
    SELECT n.*
    FROM newData AS n
    JOIN tableY AS y
    ON n.id = y.id
    

    ... you can run this query with tableX as destination and ONLY needed rows will be inserted

    Hope you got an idea

    Also you can check existing related feature requests -
    https://issuetracker.google.com/issues/35906045
    https://issuetracker.google.com/issues/35906043

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?