0

次の方法で、テーブルにいくつかの連絡先データがあります。

Contact_Name              Contact Details

Acting Generals Office      ABCD
BlackBerryOffice                A1B1
BBM Help                        X1Y1
Customer Care               A2B2
D_Link Routers              A3B3

ページで、 ASP.NETページでこの方法でデータを表示する必要があります-(各エントリの最初の文字と、その文字を持つすべてのエントリの下)

ジェネラルズ オフィス代行

B

BlackBerryOffice BBM ヘルプ

カスタマーケア

D

D_Link ルーター

詳細については、下の画像を参照してください。 ここに画像の説明を入力

Acting Generals Office、BlackBerryOffice、Customer Care、D_Link Routers をクリックすると、それぞれの contact_details が表示される新しいページにリダイレクトされます。(代理将軍オフィスをクリックすると、次のように開きます)

Acting Generals Office      ABCD

これで私を助けてください。

4

1 に答える 1

0

Could you provide sample output that you want to get? Because it's hard to tell what you really need by looking at your question. For now, try this and provide feedback if it is what you are looking for:

CREATE TABLE contacts (
  contact_name VARCHAR2(40),
  contact_details VARCHAR2(20)
);

INSERT INTO contacts VALUES ('Acting Generals Office', 'ABCD');
INSERT INTO contacts VALUES ('BlackBerryOffice', 'A1B1');
INSERT INTO contacts VALUES ('Customer Care', 'A2B2');
INSERT INTO contacts VALUES ('D_Link Routers', 'A3B3');

COMMIT;

-- show all letters, even when there are no contacts belonging to any of them
WITH letters AS (
  SELECT CHR(65 + level - 1) AS letter
    FROM dual
  CONNECT BY level <= ASCII('Z') - ASCII('A') + 1
)
SELECT lt.letter, ct.contact_name
  FROM letters lt
    LEFT JOIN contacts ct ON (lt.letter = UPPER(SUBSTR(ct.contact_name, 1, 1)))
ORDER BY 1, 2
;

Output:

LETTER CONTACT_NAME                           
------ ----------------------------------------
A      Acting Generals Office                   
B      BlackBerryOffice                         
C      Customer Care                            
D      D_Link Routers                           
E                                               
F                                               
.
.
.
Z           

-- Output only those letters where there are associated contacts

SELECT SUBSTR(contact_name, 1, 1), contact_name
  FROM contacts
ORDER BY 1, 2
;

Output:

SUBSTR(CONTACT_NAME,1,1) CONTACT_NAME                           
------------------------ ----------------------------------------
A                        Acting Generals Office                   
B                        BlackBerryOffice                         
C                        Customer Care                            
D                        D_Link Routers                           

Try at on SQLFiddle: SQLFiddle example

于 2013-10-27T12:58:41.777 に答える