there are several things that need to be corrected
first, your method of obtaining the highest bidder is incorrect -- it returns every user for each auction with each user's highest bid, and not the overall highest bid of the auction
second, you needed LEFT OUTER JOINs, to return auctions with no bids
finally, you posted in the MySQL forum when it is obviously a SQL Server problem

Code:
SELECT a.AuctionTitle
, a.StartingPrice AS 'Starting Bid'
, a.BuyoutAmount AS 'Buyout Price'
, a.DatePublished
, DATEDIFF(DAY,GETDATE(),a.DateOfExpire) AS 'Time till end'
, a.DateOfExpire
, p.City
, p.Country
, bb.bids AS '# of Bids'
, bb.maxbid AS 'Current Bid'
, uu.UserName AS 'Highest Bidder'
FROM Auctions a
INNER
JOIN ProfileTable_1 p
ON p.UserID = a.UserID
LEFT OUTER
JOIN ( SELECT AuctionID
, COUNT(*) AS bids
, MAX(BidAmount) AS maxbid
FROM Bids
WHERE Active <> 0
GROUP
BY AuctionID) AS bb
ON bb.AuctionID = a.AuctionID
LEFT OUTER
JOIN ( SELECT b.AuctionID
, b.BidAmount
, u.UserName
FROM Bids AS b
INNER
JOIN aspnet_Users AS u
ON b.UserID = u.UserID
WHERE b.Active <> 0 ) AS uu
ON uu.AuctionID = a.AuctionID
AND uu.BidAmount = bb.maxbid
WHERE a.AuctionID = @AuctionID
Bookmarks