Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

запрос с группировкой по 1 символу   Найти похожие ветки 

 
Ditrix   (2002-10-09 11:52) [0]

Господа, Мастера!
Подскажите идею, плиз, как организовать запрос с хитрой группировкой
Нужно сгруппировать не по полю, а по первому символу (всех на "А" на "B"...
Заранее спасибо!


 
Johnmen   (2002-10-09 12:16) [1]

Разве что создать еще одно поле, где будет храниться первый символ другого симв.поля...


 
Ditrix   (2002-10-09 12:39) [2]

Ясненько! Хотелось бы одним махом, и рыбку съесть и ...


 
ЮЮ   (2002-10-09 12:51) [3]

Тогда добро пожаловать в стан любителей Microsoft:
MSSQL:
SELECT Count(*) from Personnel Group by Substring(Last_Name,1,1)
ACCESS:
SELECT count(*) from Тур Group by Left(Наименование,1)


 
Max Zyuzin   (2002-10-09 13:08) [4]

Может что то вроде
select distinct cast(myfield as char[1]) from mytable
В общем это не совсем групировка... но можно попробовать "танцевать" от сюда.


 
Ditrix   (2002-10-09 15:04) [5]

Браво MSSQL, но пока мимо, у меня BDE
as char интересно, но с лету не получается. В любом случае придеться попариться, это уже ясно.


 
Darlock   (2002-10-09 15:17) [6]

2Ditrix

Что значит "у мменя БДЕ"? Под какую СУБД тебе надо? Или это общий вариант должен быть?


 
Veles   (2002-10-10 15:32) [7]

Может пригодиться...

unit Unit1;

interface

uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, DB, DBTables, Tabs, Grids, DBGrids, TabNotBk, StdCtrls,
ExtCtrls, Buttons, Mask, DBCtrls;

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
TabSet1: TTabSet;
DataSource1: TDataSource;
Button1: TButton;
Memo1: TMemo;
Query1: TQuery;
Query1N1: TStringField;
Query1N2: TStringField;
Query1N3: TStringField;
Query1N4: TStringField;
Query1N5: TStringField;
Query1N6: TStringField;
Query1N7: TStringField;
Label1: TLabel;
Image1: TImage;
Table1: TTable;
DataSource2: TDataSource;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
DBEdit1: TDBEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
Memo2: TMemo;
procedure FormCreate(Sender: TObject);
procedure TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
VAR
i: Byte;
begin
Query1.Close;
Memo1.Lines.Add("select * from Phone where N1 like "А%"");
for i := 1 to 31 do
TabSet1.Tabs.Add(Chr(Byte("А") + i));
Query1.SQL := Memo1.Lines;
Query1.Open;
Label1.Caption := " На букву А" + " обнаружено " +
IntToStr(Query1.RecordCount) + " записей ";
end;

procedure TForm1.TabSet1Change(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
Memo1.Clear;
with Query1 do begin
Close;
Memo1.Lines.Add("select * from Phone where N1 like "" +
TabSet1.Tabs.Strings[NewTab] + "%"");
SQL := Memo1.Lines;
Open;
Label1.Caption := " На букву " + TabSet1.Tabs.Strings[NewTab] +
" обнаружено " + IntToStr(Query1.RecordCount) + " записей ";
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Table1.Append;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Table1.Post;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Table1.Delete;
end;

end.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
6-101431
Витёк
2002-08-27 05:01
2002.10.31
Как пинговать компьютер host каждые t минут


1-101259
Inan61
2002-10-18 22:20
2002.10.31
Random Как сделать?


6-101400
snike
2002-08-29 11:20
2002.10.31
Аутентификация SMTP


1-101364
Alderman
2002-10-21 10:35
2002.10.31
Как сделать режим вставки в Memo и StringGrid


3-101174
Шурик Ш
2002-10-11 14:02
2002.10.31
Запрос на нахождение максимума при условии





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский