お世話になっております。
下記のようにJOINを多用しているSQL文を記載しました。
下部で
table000.province in ('hokkaido')
としています。
provinceの値が「hokkaido」以外の者も少量が検索されてしまいます。
JOINやWHEREの書き方に問題がありますのでしょうか?
お分かりになる方いらっしゃいましたらよろしくお願い致します
MySQL
1SELECT pps_pps_facility.name , pps_pps_facility.pps_province 2 FROM 3 table000 4 5 LEFT JOIN 6 table001 7 ON table000.id = table001.id_c 8 9 LEFT JOIN 10 table002 jt0 11 ON table000.pid = jt0.id 12 AND jt0.deleted=0 13 14 LEFT JOIN 15 table003 jt1 16 ON table000.uid = jt1.id 17 AND jt1.deleted=0 18 19 LEFT JOIN 20 table003 jt2 21 ON table000.uid=jt2.id 22 AND jt2.deleted=0 AND jt2.deleted=0 23 24 LEFT JOIN 25 table004 jt3 26 ON table000.sid = jt3.id 27 AND jt3.deleted=0 28 29 LEFT JOIN 30 table004 jt4 31 ON table000.sid1 = jt4.id 32 AND jt4.deleted=0 33 34 LEFT JOIN 35 table004 jt5 36 ON table000.sid2 = jt5.id 37 AND jt5.deleted=0 38 39 LEFT JOIN 40 table004 jt6 41 ON table000.sid3 = jt6.id 42 AND jt6.deleted=0 43 44 LEFT JOIN 45 table005 jtl7 46 ON table000.id=jtl7.idb 47 AND jtl7.deleted=0 48 49 LEFT JOIN 50 table006 jt7 51 ON jt7.id=jtl7.ida 52 AND jt7.deleted=0 AND jt7.deleted=0 53 54 LEFT JOIN 55 table007 jt8 56 ON table000.account_id1_c = jt8.id 57 AND jt8.deleted=0 58 59 LEFT JOIN 60 table007 jt9 61 ON table000.account_id2_c = jt9.id 62 AND jt9.deleted=0 63 64 where ((table000.province in ('tokyo','hokkaido')) 65 AND jt7.paid is null or jt7.paid = '') 66 AND table000.deleted=0 67 68 ORDER BY table000.date_entered DESC
回答2件
あなたの回答
tips
プレビュー