Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
ВнизКак правильно написать SQL Найти похожие ветки
← →
Palladin © (2008-02-29 16:48) [40]о, туплю и невнимателен, просшу просчения... у тебя же там функции стоят...
← →
Palladin © (2008-02-29 16:58) [41]
> Yurij-7 (29.02.08 16:48) [39]
тогда все очень просто...Var
Col,Cols,Rows:TStringList;
i,n:Integer;
strHTMLTable:String;
Cols:=TStringList.Create;
Rows:=TStringList.Create;
Cols.Sorted:=True;
Rows.Sorted:=True;
q.sql.text:="select город, состояние, count(продукт) from табличка group by город, состояние";
q.Open;
While not q.Eof Do
Begin
n:=Rows.IndexOf(q.Fields[0].AsString);
If n=-1 Then n:=Rows.AddObject(q.Fields[0].AsString,TStringList.Create);
Col:=TStringList(Rows.Objects[n]);
If Cols.IndexOf(q.Fields[1].AsString)=-1 Then Cols.Add(q.Fields[1].AsString);
Col.AddObject(q.Fields[1].AsString,TObject(q.Fields[2].AsInteger));
q.Next;
End;
strHTMLTable:="<table>";
For i:=0 to Rows.Count-1 Do
Begin
Col:=TStringList(Rows.Objects[i]);
Col.Sorted:=True;
strHTMLTable:=strHTMLTable+"<tr>";
For j:=0 to Cols.Count-1 Do
Begin
n:=Col.IndexOf(Cols[j]);
If n=-1
Then strHTMLTable:=strHTMLTable+"<td>0</td>"
Else strHTMLTable:=strHTMLTable+"<td>"+IntToStr(Integer(Col.Objects[n]))+"</td>";
End;
strHTMLTable:=strHTMLTable+"</tr>";
Col.Free;
End;
q.Close;
Cols.Free;
Rows.Free;
могут быть ошибки, писал здесь
← →
palva © (2008-02-29 17:00) [42]
> того что нужно не 1,0, а количество товара сгруппированных
> по городу и состоянию о чем я тебе и сказал в Palladin ©
> (29.02.08 14:54) [11]
>
Мой запрос выдает что-то другое?
Претензии ведь не к тому, что мой запрос выдает неправильные данные или работает неэффективно. Здесь вопросов не возникает.
Претензии к тому, что он кривой и имеет сущностные ошибки...
← →
Johnmen © (2008-02-29 17:00) [43]
> palva © (29.02.08 16:44) [37]
> Сущностная? Чего-то не понимаю я в этой жизни.
Наверное.
Хотя, я не прав, и запрос [15] верен в сущности - не разлядел слова LEFT.
← →
Johnmen © (2008-02-29 17:01) [44]
> Претензии к тому, что он кривой и имеет сущностные ошибки...
Сарказм неуместен, ИМХО.
← →
Yurij-7 (2008-02-29 17:10) [45]То: ANB (29.02.08 16:22) [30]
А это под какую СУБД вы написали, просто у меян под MySQL не работает,
я так понимаю что конструкция вида
SELECT a.Город, (
SELECT count( Продукт )
не поддерживается ((((
← →
Yurij-7 (2008-02-29 17:19) [46]То: Palladin © (29.02.08 16:58) [41]
Спасибо за помощь, чесно сказать даже неудобно что вы столько кода написали.
но я это делаю через связку MySQL + PHP, в Делфи я то примерно понимаю как сделать ....
← →
Yurij-7 (2008-02-29 17:24) [47]То: Johnmen © (29.02.08 15:59) [21]
к сожалению вообще не работает ((
← →
palva © (2008-02-29 17:29) [48]
Johnmen © (29.02.08 17:01) [44]
> Сарказм неуместен, ИМХО.
Извините, если обидел. Мне было важно найти изъян в своих собственных представлениях о мире и SQL.
← →
Palladin © (2008-02-29 17:32) [49]
> Yurij-7 (29.02.08 17:19) [46]
если уловил суть содеяного, можешь и на PHP портировать
все что не касается Delphi постится в Прочее, что бы не путать отвечающих
← →
Anatoly Podgoretsky © (2008-02-29 23:42) [50]> Johnmen (29.02.2008 14:53:09) [9]
Даже если известно и неизменно, но это не отметает законов Паркинсона.EDе так уж и редок, если не заниматься батонокидательством. Вариант с Control гарантирует результат, вариант с Components не всегда.
← →
Johnmen © (2008-03-01 02:26) [51]
> palva © (29.02.08 17:29) [48]
> Извините, если обидел.
Меня обидеть невозможно.
А то, что на "вы" - не извиню :)
И, кстати, надо было сразу же настаивать на верности своего ответа в доходчивой форме - типа "проверил - результат абсолютно верный"...
Yurij-7 (29.02.08 17:24) [47]
> То: Johnmen © (29.02.08 15:59) [21]
> к сожалению вообще не работает ((
Так это же схема. Ты что, следующие посты не читал???
Anatoly Podgoretsky © (29.02.08 23:42) [50]
Это пусть автор переживает. Его предупредили :))
← →
Германн © (2008-03-01 02:46) [52]Во! Именно тут APClient и перенервничал!
Anatoly Podgoretsky © (29.02.08 23:42) [50]
← →
Anatoly Podgoretsky © (2008-03-01 02:47) [53]> Германн (01.03.2008 02:46:52) [52]
Ну он не выдержал такого позора.
← →
Anatoly Podgoretsky © (2008-03-01 02:48) [54]> Anatoly Podgoretsky (01.03.2008 02:47:53) [53]
Кстати я в отпуске и запускаю свой сервер, наконец получил все железо.
А какие правильные SQL я буду на нем писать.
← →
Германн © (2008-03-01 02:56) [55]
> Anatoly Podgoretsky © (01.03.08 02:48) [54]
>
> > Anatoly Podgoretsky (01.03.2008 02:47:53) [53]
>
> Кстати я в отпуске и запускаю свой сервер, наконец получил
> все железо.
> А какие правильные SQL я буду на нем писать.
>
Поздравляю! И с отпуском, и с получением железа. Зависть гложет меня по обоим пунктам :)
По поводу "правильных SQL", я надеюсь, мы ещё потрепемся. :)
(Хоть я и ламер в SQL :)
← →
Yurij-7 (2008-03-02 13:59) [56]Наконецто получилось инет возобновить.
спасибо всем за ответы, пошел по пути
Johnmen © (29.02.08 15:59) [21]
а именно
SELECT name, a.st1, a.st2, a.st3
FROM
(
SELECT braqnch_manager,
count( if(STATUS = "Статус1", 1, NULL ) ) AS st1,
count( if(STATUS = "Статус2", 1, NULL ) ) AS st2,
count( if(STATUS = "Статус3", 1, NULL ) ) AS st3
FROM cs
GROUP BY braqnch
) AS a
left JOIN spr_name ON branch = a.braqnch_manager
ORDER BY branch
Но что самое интересное не работает чтотос псевдонимами My SQL а именно ( запрос) as A а к нему присоединяю имена регионов .....
еслу у кого есть коментарии буду благодарен ...
← →
Johnmen © (2008-03-02 14:55) [57]
> Yurij-7 (02.03.08 13:59) [56]
Ну, во-первых, я этого не предлагал, ни в каком виде. И предложить не мог, ибо на основании [19] запросы из запросов и вложенные запросы отсутствуют.
Я предлагал [21], уточнено [23].
Также стОит обратить внимание на [15].
А в общем настоятельно рекомендую всё же читать ответы. Все и внимательно.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.053 c