質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

4888閲覧

クエリのNOT LIKEが機能しない

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/10/19 09:16

編集2017/10/19 09:31

###わからないこと
いつもお世話になっております。
この度は下記のクエリ文が機能せず、どう直せばよいかわからなくなったため、質問させていただきました。

###クエリ文

SELECT ja.j_id, GROUP_CONCAT(ja.j_id separator ' OR ') FROM ja LEFT JOIN j ON jmeta.j_id = j.id LEFT JOIN ca ON ca.c_id = j.c_id WHERE ca.value like '%TOTO%' AND ca.cem_id = 1 AND ja.jem_id = 5 AND ( ja.value NOT LIKE '%愛知県%' OR ja.value NOT LIKE '%北海道%' OR ja.value NOT LIKE '%兵庫県%' OR ja.value NOT LIKE '%福岡県%' OR ja.value NOT LIKE '%京都府%' OR ja.value NOT LIKE '%新潟県%' );

上記のクエリ文で、指定の都道府県を含まないIDを取得しようとしています。
NOT LIKEにある「OR」を「AND」に変えたところ、結果はnullになっています
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

新潟県の後ろのorが不要ではありませんか?
(このままだとSQL構文エラーになります)

また、県の除外判定が「愛知県ではない、もしくは北海道ではない(以下略)」となっているので、この条件では愛知県を除外できません(「北海道ではない」に合致するため、判定結果がtrueになってしまいます)。

判定条件としては、ご自身で試された「not likeを繋ぐorをandに変える」と、意図された判定になるかと思います(愛知県ではない、かつ、北海道ではない……になるので、愛知県はfalseになります)

投稿2017/10/19 09:19

編集2017/10/19 09:29
nak

総合スコア696

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/19 09:32

失礼いたしました。 そちらは私が質問を記載する際に誤ってつけたものです。 削除しました。 またご回答ありがとうございます。 改めて試します。
退会済みユーザー

退会済みユーザー

2017/10/19 09:46

ご回答ありがとうございました! うまく求めた値を取得できました。 ありがとうございました。
guest

0

AでもBでもCでもない場合 not ( col='A' or col='B' or col='C')となります。
これを展開すると not col='A' and not col='B' and col='C' になります。

sql

1not ( 2ja.value LIKE '%愛知県%' OR 3ja.value LIKE '%北海道%' OR 4ja.value LIKE '%兵庫県%' OR 5ja.value LIKE '%福岡県%' OR 6ja.value LIKE '%京都府%' OR 7ja.value LIKE '%新潟県%' 8)

sql

1ja.value NOT LIKE '%愛知県%' AND 2ja.value NOT LIKE '%北海道%' AND 3ja.value NOT LIKE '%兵庫県%' AND 4ja.value NOT LIKE '%福岡県%' AND 5ja.value NOT LIKE '%京都府%' AND 6ja.value NOT LIKE '%新潟県%'

投稿2017/10/19 09:55

A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問