助けが必要SELECT
です。
できるフィールドを取得し、そのNULL
中に外部キーが格納されています。
SELECT * FROM beerImage WHERE beerBRewID = brewID AND beerBrandID = beerID <--- this can be NULL
したがって、NULL
何も起こらない場合。
使用できるかどうかを確認するにbeerID
はどうすればよいですか?NOT NULL
"beerBrandID = beerID"
助けが必要SELECT
です。
できるフィールドを取得し、そのNULL
中に外部キーが格納されています。
SELECT * FROM beerImage WHERE beerBRewID = brewID AND beerBrandID = beerID <--- this can be NULL
したがって、NULL
何も起こらない場合。
使用できるかどうかを確認するにbeerID
はどうすればよいですか?NOT NULL
"beerBrandID = beerID"
おそらく次のようなものが必要です。
最初の例:
SELECT * FROM beerImage WHERE beerBRewID = brewID AND (beerID IS NULL OR beerBrandID = beerID)
2 番目の例:
SELECT * FROM beerImage WHERE beerBRewID = brewID AND beerID IS NOT NULL AND beerBrandID = beerID
最初の例では、beerBrandID が beerID と等しいビール (両方) とともに、beerID が null であるレコードを表示できます。
2 つ目は、beerBrandID (NULL の beerID を除く) に対応するビールを正確に返します。
一致するものがないレコードを含める場合は、外部結合が必要です
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
null / not null をチェックするには、IS NULL / IS NOT NULL を使用します。
AND beerID IS NOT NULL
「IS NULL」または「IS NOT NULL」MySQL 比較関数を使用できます。
詳細については、こちらをご覧ください: http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html http://dev.mysql.com/doc/refman/5.0/en/comparison -operators.html#operator_is-null