Szczerze mówiąc, jest to okropna architektura do przechowywania danych i może powodować poważne problemy z wydajnością.
Jeśli naprawdę nie masz kontroli nad zmianą bazy danych, możesz dokonaj tego, analizując wartość za pomocą SUBSTRING
jak poniżej, ale prowadzi bardzo nieszczęśliwą ścieżką:
SELECT *
FROM tb1
JOIN tb2 on tb2.bvin =
SUBSTRING(
tb1.json
,CHARINDEX('"bvin":"', tb1.json) + LEN('"bvin":"')
,CHARINDEX('"', tb1.json, CHARINDEX('"bvin":"', tb1.json) + LEN('"bvin":"')) - CHARINDEX('"bvin":"', tb1.json) - LEN('"bvin":"')
)
I niestety jest to tak proste, jak to tylko możliwe.