0

クエリの同じ列に複数の like 句があります。結果セットに like 句の値を含めることは可能ですか? 例えば

SELECT * FROM address ADDR WHERE 
addr.line LIKE '%ONE%' 
OR addr.line LIKE '%TWO%'
OR addr.line LIKE '%THREE%'
OR addr.line LIKE '%FOUR%';

結果セットには、ONE、TWO、THREE、FOUR を含むすべてのアドレスが含まれています。今、私は次のような結果セットを見たいと思います

Address1ONE | ONE
Address2TWO | TWO
THREEaddr   | THREE

どんな手掛かり?-R

4

1 に答える 1

1
SELECT addr.*,
CASE WHEN addr.line LIKE '%ONE%'  THEN 'ONE'
  WHEN addr.line LIKE '%TWO%'  THEN 'TWO'
  WHEN addr.line LIKE '%THREE%'  THEN 'THREE'
  WHEN addr.line LIKE '%FOUR%'  THEN 'FOUR' 
  ELSE 'Unknown'  -- redundant since other values filtered out by WHERE...
 END AS address_type 
 FROM address ADDR WHERE 
addr.line LIKE '%ONE%' 
OR addr.line LIKE '%TWO%'
OR addr.line LIKE '%THREE%'
OR addr.line LIKE '%FOUR%';
于 2013-07-05T23:18:59.640 に答える