- PR -

SQLのdistinct文について・・・

投稿者投稿内容
いーいちゃん
会議室デビュー日: 2006/01/15
投稿数: 11
投稿日時: 2006-05-12 12:28
こんにちわ 
早速ですが 今SQL文の distinctの取り扱いに
困っています。

VB6です。
ADOでつなげています。
レコードの重複部分を表示させないように@文を作りましたが

@文
SQ = "select distinct FoTo, a2, a3, a4, a5, a6, a7, a8 from SE " _
& "where a1=" & S & " ORDER BY SE.a2 DESC , SE.a4 DESC;"

A文
SQ = "select FoTo, a2, a3, a4, a5, a6, a7, a8 from SE " _
& "where a1=" & S & " ORDER BY SE.a2 DESC , SE.a4 DESC;"

@とAでは"distinct"があるかないかのちがいで
フィールドの"a8"の部分が文字数が違ってきます。
A文だと全ての文字が表示されますが@文だと途中で文字が切れて
しまいます。ちなみに"a8"のフィールドデーター型はメモ型にしてあります。

基本的なミスだと思いますがご教授お願いします。
まだ初級編で質問下手ですいません。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-05-12 12:42
Database Expert会議室の方が良いような…(^^;

それはそうと、重複を避けたいのはselect句の全列ですか?
そうでないならGROUP BYを使ったらどうでしょう?

あと質問するときはDBMSに何を使ってるかも書いた方が良いですよ。
いーいちゃん
会議室デビュー日: 2006/01/15
投稿数: 11
投稿日時: 2006-05-12 12:53
ぼのぼのさん早速のご返答ありがとうございます。
記述不足ですいません
Spread 3.0を使用してます。

Select句全列に対してです。
質問する会議室を間違ってましたかね すいませんm(_ _)m
Select句全部に対してのGroup Byの使い方がわかりませんでしたので
distincr句を利用しました。
初心者ですいません。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-05-12 13:22
引用:

いーいちゃんさんの書き込み (2006-05-12 12:53) より:
記述不足ですいません
Spread 3.0を使用してます。



検索しても、Spreadってデータベースが見つからないんですが・・・
ちなみに、SQLServerでは、text型というなが〜いテキストを格納する型は値の比較ができません。
DISTINCTするのには値を比較しなければならないでしょうから、当然DISTINCTも使えません。
何か関係がありますかねー?
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2006-05-12 13:31
こんにちは、まゆりんです。

引用:

Spread 3.0を使用してます。



いやいや、それはサードパーティ製品の名称ですよ(^^;
http://computers.yahoo.co.jp/shop?d=SBSY&id=141098

SQLServerとか、Oracleとか、何使ってるの?
とぼのぼのさんは聞いているのです。
とりあえず、"DBMS"で検索してみてくださいね。

原因は一郎さんと同じで、メモ型にしているからだと思うのですが、
そもそもそのような型を扱ったことがないので何とも・・・。
お役に立てずにすみません。
_________________
まゆりん @ わんくま同盟
Blog る。
いーいちゃん
会議室デビュー日: 2006/01/15
投稿数: 11
投稿日時: 2006-05-12 13:38
みなさん大変すいませんでした。
Microsoft Jetを利用しています。

ちなみに"a8"のフィールドには長文になっています。
Jetでも長文の値の比較ができないのでしょうか?
Distinctが無理だとしたら 無理なんでしょうかね?
なせ
常連さん
会議室デビュー日: 2006/01/06
投稿数: 41
お住まい・勤務地: おおさか
投稿日時: 2006-05-12 13:44
んーと
まずオブジェクトブラウザなど(SQLを実行できるアプリ)でその二つの
SQLを実行して見たらa8にあたる文字列に相違があるのでしょうか?

そのSQLだけ見るなら、本来違いは出てこないように見えます。

それを確認した上で違いが無いようであれば、
spreadの表示セルの文字制限を見て見ることをお勧めします。

まず、それだけでも試してみてください。

#SQL実行しただけで値が変わってるようなら私にはわからないなぁ。。。^^;

[ メッセージ編集済み 編集者: なせ 編集日時 2006-05-12 13:54 ]
今川 美保(夏椰)
ぬし
会議室デビュー日: 2004/06/10
投稿数: 363
お住まい・勤務地: 神奈川県茅ヶ崎市
投稿日時: 2006-05-12 13:45
使用しているものが以下の中にありますか?
コード:
SQL Server
Oracle
DB2
PostgreSQL
MySQL



#これ以外だったりして

夏椰 @ わんくま同盟
_________________
夏椰 @ わんくま同盟
夏椰の庵
Microsoft MVP for Windows Server System - SQL Server ( Jul 2006 - Jun 2008 )

スキルアップ/キャリアアップ(JOB@IT)