なぜ構文エラーが発生しているのですか?SQLで構文エラーが表示される理由を教えていただけますか?
テーブル名はcustomers
です。 を使用しているときに構文エラーが発生します。 ここで
がテーブル
そして、ここでエラーのスクリーンショット
なぜ構文エラーが発生しているのですか?SQLで構文エラーが表示される理由を教えていただけますか?
テーブル名はcustomers
です。 を使用しているときに構文エラーが発生します。 ここで
がテーブル
そして、ここでエラーのスクリーンショット
である私は、あなたが唯一のスタートは等しい終了とIDが
DISTINCTあるしない行を取得したいと仮定しますSELECT DISTINCT id FROM customers WHERE start!=end;
これは、 'start'と' end'が 'NOT NULL'であることを前提としています。 –
私の知る限りでは、mysqlはクエリを実行することができません。代わりに以下のクエリを使用することができます、私はそれがあなたを助けてくれることを願っています。
SELECT `id` FROM `customers`
WHERE ((`start` <> `end` OR `start` IS NULL OR `end` IS NULL)
AND NOT (`start` IS NULL AND `end` IS NULL))
@ShadowはIS DISTINCT FROMがmariaDBでサポートされていないと言います、それは本当ですか? –
is distinct from
以下のように示されている出力を有するこのクエリ
select distinct *from table1 where start <> end_
例はNULL
などのANSI標準的な方法であるので、NULL
は別の値と異なっています。これはNULL
セーフ・オペレータと呼ばれます。
MySQL/MariaDBのNULL
セーフセーフティオペレータは<=>
です。しかし、これは平等のためであり、不平等ではありません。
だから、あなたが欲しい:
select c.*
from customers c
where not (c.start <=> c.end);
重複したトピックで説明したとおり... – Shadow
おそらくmariadbがサポートされていないため、 '明確なfrom'演算子です。私はそのようなオペレータを自分で聞いたことはありません – Shadow
@Shadowよろしいですか? –
@NinjaBoy:あなたは正しい構文(IS DISTINCT FROM)を使用したと思いますか? – rkosegi