Hi @Jreco ,
You need to use prepare query option and then query like below:
url = "jdbc:sqlserver://server_name:1433;database=db_name"
df = spark.read \
.format("jdbc") \
.option("url", url) \
.option("prepareQuery", "with cte as ( SELECT TOP 10 * FROM dbo.TestTb wt)") \
.option("query", "SELECT * FROM cte") \
.option("user", "user_name") \
.option("password", "password")
.option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver").load()
I've tested it and it works 🙂
![Slash_0-1720728701965.png Slash_0-1720728701965.png](/t5/image/serverpage/image-id/9512iEC9F5E41DB2EE6B7/image-size/medium/is-moderation-mode/true?v=v2&px=400)