Alex Rivera | Logout

WHERE Clause only IF NOT NULL

Asked 2012-08-15T14:48:20.720
22

I need help with my SELECT.

I got a field that can be NULL and in it there is stored a foreign-key.

SELECT * FROM beerImage WHERE beerBRewID = brewID AND beerBrandID = beerID <--- this can be NULL

So if it's NULL nothing happens.

How can I check if beerID is NOT NULL so I can use "beerBrandID = beerID"?

Edit
Report

1 Answer

2

If you want to include records where there's no match, you need an outer join

SELECT beer.id AS beerID,
 beer.barrelID AS barrelID,
 beer.imageID AS imageID,
 beer.title AS title,
 beer.map AS map,
 beer.longitude AS longitude, 
 beer.latitude AS latitude, 
 brand.name AS brandName, 
 brew.type AS brewType,
 image.name AS imageName, 
 variation.name AS variationName 
FROM brand, brew, image, beer
LEFT OUTER JOIN variation ON variation.ID = beer.VariationID
WHERE beer.id = %s 
AND md5(beer.memberID) = %s 
AND beer.review = 1 
AND brand.ID = beer.brandID 
AND brew.ID = beer.brewID 
AND image.ID = beer.imageID 
answered 2012-08-15T15:29:09.043

Your Answer