Ich versuche, die Ausgabe einer Abfrage zu bestellen, die alle URLs in einer Zeile zu einem wiederholten Feld extrahiert - die ursprünglichen Zeilen enthalten alles zwischen 0 - 20 URLs.Versuchen wiederholte Felder gleiche Werte als nicht wiederholte Felder zuweisen
Dies war meine erste Abfrage und es funktionierte hervorragend beim Extrahieren jeder URL.
SELECT
Unique_ID, Content, Col_C, Col_D,
REGEXP_EXTRACT_ALL(Content, r'(?i:(?:(?:(?:ftp|https?):\/\/)(?:www\.)?|www\.)(?:[\da-z-_\.]+)(?:[a-z\.]{2,7})(?:[\/\w\.-_\?\&]*)*\/?)') AS URL
FROM
Project.Table_1
jedoch, wo es viele URLs pro Reihe, die neue Spalte ‚URL‘ legt nur die Werte von anderen Spalten in der ersten Zeile eines wiederholtes Ergebnisses. Ich suche nach einer neuen Zeile, die stattdessen für jede eindeutige URL erstellt wird, mit einer Wiederholung der Werte in der Spalte "Inhalt". Dies ist der Fall, damit ich Werte, die in Col_C, Col_D usw. codiert wurden, an jede einzelne URL anhängen kann, wenn ich sie später abfragen möchte.
Idealerweise möchte ich die Dinge so aussehen lassen.
Anfängliche Ergebnis:
Unique_ID Content Col_C Col_D URL
001 abc efg hij www.facebook.com
002 zxy qwe rty www.facebook.com
www.bbc.co.uk
www.nbc.com
Desired output:
Unique_ID Content Col_C Col_D URL
001 abc efg hij www.facebook.com
002 zxy qwe rty www.facebook.com
002 zxy qwe rty www.bbc.co.uk 002 zxy qwe rty www.nbc.com
Hoffnung, dass alle Sinn macht!
Jede Hilfe zu diesem würde wirklich geschätzt werden, danke.