0

2つの列を1つに結合し、2番目の列を結合して整列させたい。

例(会社IDと名前を1列にまとめたい)、

coid               coname

co1                company 1

comp2              company 2

companyid3         company 3

mytableからcoid+''+ conameを選択するだけで、次のような結果が得られます。

co1   company 1

comp2   company 2

companyid3   company 3

2番目の列を揃えたい(つまり、coname to like)、

co1                company 1

comp2              company 2

companyid3         company 3

私のコード(私は次のコードを試しています)-しかし、まだ整列されていません

coidの最大長を取得し、それに応じて追加しようとしています。上記では、たとえば、3番目のレコードに5つのスペースのみを追加し、2番目のレコードに10のスペースを追加し、1番目のレコードに12のスペースを追加します。しかし、それでも個々の文字の幅が原因で役に立たない場合があります。誰もがこれを行うためのアイデアを持っています。

Dim mySql As String = "declare @len1 int " & Chr(10)
mySql = mySql & "select @len1 =  max(len(coid)) from mytable" & Chr(10)
mySql = mySql & "select coid, coid + space(@len1-len(coyid)+5) + coname as coname from mytable order by coid" & Chr(10)
Dim sqladp As New SqlClient.SqlDataAdapter(mySql, _SqlCon.sqlCon)

これをコンボボックスに表示したい。ユーザーはリストから会社を選択する必要があります。

4

2 に答える 2

0

そのようなコンボボックスは見たことがありませんが
、conid の最大長を見つけて、すべてのフィールドの右に ' ' を埋め込み、conname を追加します..

より良い形式は、会社名を表示し、括弧内に conid を表示することだと思います..

会社 1 (co1)
会社 2 (c02)

于 2012-07-04T02:53:13.343 に答える
0

これを試すことができます..

create table #t (compid varchar(10),name varchar(20))
go
insert into #t (compid ,name) 
SELECT 'Col1','Company ID -1'
union all
SELECT 'ID2','Compa -1'
union all
SELECT 'Comp3','Com ID -1'
union all
SELECT '4','Company-1'
go
select convert(char(10),compid) + SPACE(10) + convert(char(20),name) from #t
go
drop table #t
于 2012-07-04T05:06:42.443 に答える