Форум: "Базы";
Текущий архив: 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.46 MB
Время: 0.008 c