• Ok - try these:

    SELECT

    TTT_Factureren = 0,

    TTT_FactuurStatus = 0,

    TTT_FactuurNummer = 0

    FROM tblInvoicesProject

    WHERE TTT_ProjectID = 26

    AND TTT_FactuurStatus = 1

    AND TTT_ID NOT IN (

    SELECT SUBSTRING(CAST(X.TextDescription AS VARCHAR(100)),13,10)

    FROM [500].dbo.frstx X

    WHERE (LEFT(CAST(X.TextDescription AS VARCHAR(100)), 11) = 'Int.nr.TXT:')

    )

    SELECT

    TTT_Factureren = 0,

    TTT_FactuurStatus = 0,

    TTT_FactuurNummer = 0

    FROM tblInvoicesProject

    WHERE TTT_ProjectID = 26

    AND TTT_FactuurStatus = 1

    AND TTT_ID NOT IN (

    SELECT b.TTT_ID

    FROM [500].dbo.frstx X

    CROSS APPLY (SELECT ChosenRow = CASE WHEN X.TextDescription LIKE 'Int.nr.TXT:%' THEN 1 ELSE 0 END) a

    CROSS APPLY (

    SELECT TTT_ID = CASE WHEN ChosenRow = 1 THEN CAST(SUBSTRING(CAST(X.TextDescription AS VARCHAR(100)),13,10) AS INT) END) b

    WHERE ChosenRow = 1

    )

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden