ここに私のクエリです。私は定義されたテーブルとテーブルを結合しようとしています。しかし、問題は、私たちが左に参加しようとしている時です。例えばMysql自己定義テーブルで問題を登録
SELECT A.*,B.*,
(CASE WHEN A.preday != '' THEN 'A' ELSE 'P' END) AS PreStat
FROM (
SELECT '2016-05-04' AS preday
UNION
SELECT '2016-05-03'
UNION
SELECT '2016-05-02'
) AS A
LEFT JOIN `student_attendence` AS B ON B.date = A.preday
WHERE student_id='1' ;
私の右の表の値が「2016年5月2日」で日付フィールドが含まれていない、しかし、我々は左しようとしているとき、それはないでしょう..butそれがNULL値で来るべきで参加来る。
私の右には、テーブル構造は、私はそれを解決するために助けてください
で参加します。
ここで「自己定義」とは何ですか?また、可能であれば、画像の代わりに 'SHOW CREATE TABLE'の** text **を投稿してください。 – tadman
は 'どこstudent_ID = '1''を' student_ID =' 1''に変更するので、それは場所の代わりに結合の一部です。この方法では、結合の前に制限が適用され、結合によって作成されたNULLレコードが残ります。 – xQbert
@tadmanは、左のテーブルデータが状況に応じて動的に定義されていることを意味します。 –