-1

これは私が使用することを考えていたコードの概要です:

CREATE function get_n_chars ( dfrom varchar(9) ) returns varchar(9)
READS SQL DATA
begin
declare d varchar(9);
dfrom REGEXP '^.(...)';
d = $1;
limit 1;
return d;

エラーが発生しても驚かなかったのですが、正しい構文を知っている人はいますか、それとも可能ですか?

ありがとう

4

1 に答える 1

1

上記のコメントごとに:

基本的な問題は、わずかに異なるが同じ会社である会社名を持つテーブルがあることです。例: 「Apple Inc.」、「Apple Computers」、および「Apple Incorporate」。私はこのテーブルをきれいにすることになっています。類似した名前に基づいて重複を見つける必要があります。したがって、3 つの「りんご」はすべて「重複」です。特定した後、データが最も不完全な 2 つの行を削除する必要があります。したがって、これら 3 つの行を ID 番号と共に表示してから、2 つを削除する必要があります。

疑わしい重複をすべて取得するには、次のようにします。

SELECT my_table.* FROM my_table JOIN (
  SELECT   LEFT(company_name, 4) AS abbr
  FROM     my_table
  GROUP BY abbr
  HAVING   COUNT(*) > 1
) t ON LEFT(my_table.company_name, 4) = t.abbr
ORDER BY my_table.company_name
于 2013-01-14T17:59:57.867 に答える