3列のテーブルがあります。例:テーブルテスト
test1|test2|test3
-----------------
ab |a |aba
----------------
a |b |aa
----------------
b |a |ba
test1 + test2列がtest3と等しくないすべての行が必要です
上記の例から続けます。列a | b | aaを持つ行2だけを取得したいと思います。
次のコードを試してみます。
select distinct * from DB.dbo.test l where (l.test1+ l.test2) <> l.test3;
しかし、それはうまく機能しません。すべての行が返されます
何が足りないのですか?
ありがとう
先行スペースがあるようです:
CREATE TABLE T (test1 varchar(40), test2 varchar(40), test3 varchar(40));
INSERT INTO T VALUES
('ab ', 'a', 'aba'),
('a ', 'b', 'aa'),
('b ', 'a', 'ba');
SELECT *
FROM T
WHERE RTRIM(LTRIM(Test1)) + RTRIM(LTRIM(Test2)) != RTRIM(LTRIM(Test3));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加