2017-06-09 12 views
-2
SELECT `a`.`id` AS `id`, 
     `a`.`info` AS `info`, 
     `a`.`type` AS `type`, 
     `a`.`disp` AS `disp`, 
     `a`.`emp` AS `emp`, 
     `a`.`tel` AS `tel`, 
     `a`.`img` AS `img`, 
     `a`.`job` AS `job` 
FROM ((`my_shop` `a` 
     LEFT JOIN `my_shop2` `b` 
      ON((`a`.`id` = `b`.`my_shop_id`))) 
     JOIN `my_shop3` `c` 
      ON((Ifnull(`b`.`my_shop_id`, `a`.`id`) = `c`.`id`))) 

"personal_id"というmy_shopテーブルにフィールドを追加しました。私がしたいのは、personal_idフィールドにidが含まれている場合、上記の情報を取得することです。私はこれをどのように達成しますか?いくつかの例やヒントは素晴らしいでしょう!私はあなたから聞くのが大好きです!MySqlでヌルでなくても単純な結果しか得られない場合

+0

エラーが発生しましたか? – JYoThI

+0

'personal_id'フィールドはクエリのどこにも表示されません。サンプルデータと予想される結果を追加してください。 –

+0

問題は、私が総初心者なので、現在のクエリに次のコードに "personal_id"条件を追加する方法がわかりません。 – Tony

答えて

1

の下に使用

SELECT a.id AS id, 
     a.info AS info, 
     a.type AS type, 
     a.disp AS disp, 
     a.emp AS emp, 
     a.tel AS tel, 
     a.img AS img, 
     a.job AS job 
FROM my_shop a LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
     JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id AND a.personal_id = C.id 

の下に使用してください以下の使用コードを言及してください。あなたの問題を解決します。

SELECT 
    a.id AS id, 
    a.info AS info, 
    a.type AS type, 
    a.disp AS disp, 
    a.emp AS emp, 
    a.tel AS tel, 
    a.img AS img, 
    a.job AS job 
FROM my_shop a 
LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
INNER JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id 
WHERE a.personal_id IS NOT NULL; 

と、コマンド

WHERE a.personal_id = <tablename.column_name> 

はこれを試してみて、私たちが知っている場所の下の使用よりも、特定のテーブルの列の値でpersonal_idを比較したい場合。

1

これは

あなたはmy_shop3とJOIN personal_idをしたい場合は、あなたがWHERE句でpersonal_id使用したい場合は、

SELECT a.id AS id, 
     a.info AS info, 
     a.type AS type, 
     a.disp AS disp, 
     a.emp AS emp, 
     a.tel AS tel, 
     a.img AS img, 
     a.job AS job 
FROM my_shop a LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
     JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id 
WHERE a.personal_id = <id value> 
関連する問題