Here's one way:
DECLARE @message VARCHAR(20)
CREATE TABLE mytbl
(
corp INT ,
price MONEY ,
custname VARCHAR(200) ,
newprice MONEY
);
INSERT INTO mytbl
VALUES
--( 1, 42.0, 'ArthurDent', 24.0 )
( 2, 43.0, NULL, 0)
;
DECLARE @Rows INT;
WITH q
AS ( SELECT TOP 1 corp ,
price ,
custname
FROM mytbl
WHERE newprice <> 0 )
SELECT @message= 'Message1' + IIF(custname IS NOT NULL, CHAR(10) + CHAR(13) + 'Message3', '')
FROM q
SET @Rows = @@Rowcount;
IF @Rows > 0
PRINT @message
ELSE
PRINT 'Message2'