アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

LEFT JOIN をすれば、左側に一致する値が右側になくても、左側の値が出るという認識だったのですが、違うのでしょうか?

「T_HATTYU_SeihonGaiyou.KOUSEIMEI」と「T_HATTYU_OrderMeisai.KAISYAMEI」を
表示させたくて、fromでleft join をしています。
ただ、
「WHERE (([T_HATTYU_OrderMeisai].[KOUSEIBUZAI]="AAA"));」
でAAAが存在しないときは、SQLの結果が0件です。
※AAAが存在するときは結果が出ます。

SELECT T_HATTYU_SeihonGaiyou.KOUSEIMEI, T_HATTYU_OrderMeisai.KAISYAMEI
FROM T_HATTYU_SeihonGaiyou LEFT JOIN T_HATTYU_OrderMeisai ON T_HATTYU_SeihonGaiyou.ORDERNO = T_HATTYU_OrderMeisai.ORDERNO
WHERE (([T_HATTYU_OrderMeisai].[KOUSEIBUZAI]="AAA"));


私の認識では、「AAA」が無くても、「T_HATTYU_SeihonGaiyou.KOUSEIMEI」の一覧は、出る「T_HATTYU_OrderMeisai.KAISYAMEI」が空白になるという認識だったのですが、
頭が悪く違っていたようです。
そこで、可能でしたら、
「AAA」が無くても、「T_HATTYU_SeihonGaiyou.KOUSEIMEI」の一覧は、出る「T_HATTYU_OrderMeisai.KAISYAMEI」が空白になる形にできないでしょうか?

何とぞよろしくお願いいたします、。

A 回答 (3件)

WHERE (([T_HATTYU_OrderMeisai].[KOUSEIBUZAI]="AAA"));


                             ↓
WHERE (([T_HATTYU_OrderMeisai].[KOUSEIBUZAI]="AAA")OR([T_HATTYU_OrderMeisai].[KOUSEIBUZAI] IS NULL));

他にも書き方はいろいろありますけど...
    • good
    • 0
この回答へのお礼

申し訳ございません。

質問文の記載が悪すぎました。

改めてアップしたいと思います。

お礼日時:2018/05/16 09:53

いろいろあるって書いちゃったんでしょうがない、3つめです。



SELECT T_HATTYU_SeihonGaiyou.KOUSEIMEI, (
SELECT T_HATTYU_OrderMeisai.KAISYAMEI FROM T_HATTYU_OrderMeisai
WHERE T_HATTYU_SeihonGaiyou.ORDERNO = T_HATTYU_OrderMeisai.ORDERNO
AND T_HATTYU_OrderMeisai.KOUSEIBUZAI="AAA") AS KAISYAMEI
FROM T_HATTYU_SeihonGaiyou;
    • good
    • 0

SELECT A.KOUSEIMEI, Q.KAISYAMEI


FROM T_HATTYU_SeihonGaiyou AS A LEFT JOIN
(SELECT B.ORDERNO, B.KAISYAMEI
FROM T_HATTYU_OrderMeisai AS B
WHERE B.KOUSEIBUZAI="AAA") AS Q
ON A.ORDERNO = Q.ORDERNO;

こっちの方が理解しやすいかな。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す