Jak zrobic query z query? (TQuery)

0

Witam.

Mam problem. Tworze sobie kwerende (q1) uzywajac komponentu TQuery.
Wyszukuje dane i jest ok. Tworze kolejna (q2) kwerende i chcialbym wykorzystac dane z wczesniej utworzonej q1.

Nie ma tego nigdzie w zadnym tutorialu, w helpie, na forum!!

HELP!!!!

0

O jakie dane chodzi? To mają być pola tabeli wynikowej, czy może zapytanie SQL z tamtego Query'ego?

0

Postaram sie wyjasnic dokladniej.
Chce wykor:ystac dane wynikowe z kwerendy q1, w celu przeprowadzenia na nich kolejnego zapytania kwerenda q2.

0

Do pól tabeli wynikowej można się odwoływać tak samo jak do wszystkich innych, tzn ustawiasz sobie zbiór danych na odpowiednim rekordzie i później konstrukcja w stylu TQuery.FieldByName('NazwaPola').AsInteger (np)

0

Nie o to mi chodzilo. Jeszcze raz :)

Chce zrobic "kwerende z kwerendy". W Accesie robie to tak:

Przykladowa kwerenda Q1:
SELECT ID, Imie, Nazwisko
FROM Uzytkownik

Przykladowa kwerenda Q2:
SELECT Imie, Nazwisko
FROM Q1 <- o to chodzi

Niestety nie wiem jak to zrobic w Delphi.

0

Hmm, ja chyba też nie :)

0

Przykladowa kwerenda Q1:
SELECT ID, Imie, Nazwisko
FROM Uzytkownik

Przykladowa kwerenda Q2:
SELECT Imie, Nazwisko
FROM Q1 <- o to chodzi

Przecież o takie coś można zapytać tak:

SELECT imie, nazwisko
FROM (SELECT id, imie, nazwisko
FROM Uzytkownik)

W zasadzie zawsze da się zapytać takim zapytaniem złożonym, więc niepotrzebne jest "query z query" - jedne gdzie możesz mieć problemy, to przy kilkukrotnym złączeniu - ale od czego są aliasy.

//do postu poniżej:
Konstrukcja SELECT ... FROM ... SELECT (zagnieżdżanie) jest jak najbardziej poprawną w każdej "wersji" języka SQL - więc fakt, iż wyskakuje Ci taki błąd wynika z tego, że coś spaprałeś... Posprawdzaj czy wszystkie otwarte nawiasy są zamknięte, czy każdy SELECT ma swój FROM i czy nie pomieszałeś gdzieś przy zagnieżdżaniu

0

No wlasnie ze nie mozna!
Wydawaloby sie, ze to jest oczywiste, ale niestety w Delphi, uzywajac komponentu TQuery nie da sie utworzyc podkwerendy w klauzuli FROM (wyskakuje mi blad - "Invalid use of keyword (SELECT)". Nie wiem dlaczego? Nie umiem rowniez sie odwolac do juz utworzonej kwerendy tak jak wyzej. Straszne ograniczenie - praktycznie nie da sie utworzyc bardziej zlozonego zapytania, a w takim razie po co mi baza danych?!. Osobiscie wydaje mi sie, ze musi sie to dac jakos rozwiazac, ale po godzinach spedzonych na przegladaniu faq, forums, helpa i innych mam juz dosc :(.

Help!

0

proponuję 1) trochę pomyśleć 2) douczyć się SQL. po pierwsze wyniki pierwszego zapytania możesz zachować w zmiennej i na podstawie jej zawartości skonstruować drugie zapytanie. po drugie - po wuj ci to? użyj where i już. jeśli i to nie wystarcza (w to nie wierzę), to użyj składni create view.
tylko ja naprawdę nie rozumiem po co to.

0

To jak jestes taki madry to mi napisz laskawie jak z takiej zmiennej wykorzystac dane, zeby uzyc je w kwerendzie. Chyba na oczy nie widziales Delphi oraz TQuery, wiec po co sie gosciu wypowiadasz?

0

To jak jestes taki madry to mi napisz laskawie jak z takiej zmiennej wykorzystac dane, zeby uzyc je w kwerendzie.

Fields? jeśli tego nie wiesz, to co ty tu w ogóle robisz?

Chyba na oczy nie widziales Delphi oraz TQuery, wiec po co sie gosciu wypowiadasz?

nie podskakuj do moderatora, bo zostaniesz wdeptany w ziemię. tquery nie używałem, ale za to umiem korzystać z helpa. a co do mojej znajomości delphi, to cmoknij mnie w lewy pośladek.

0

Jezeli to forum sluzy do pokazywania takich fochow to ja sie wypisuje. Myslalem ze tu mi ktos pomoze.

Gosciu, jak to lubisz, to chwal sie ze jestes moderatorem, na mnie to nie dziala. Chyba sam nie wiesz do czego to forum sluzy - i ty mowisz ze jestes moderatorem? Haha. Dzieki za pomoc. Rozwiazales moj problem. Jestes the best.

Pozdrowienia dla ludzi tego typu. Boze co za zenada... :(

Nadal nie rozwiazalem problemu query z query...

// jak ci się tu nie podoba, to żegnam - ŁF

Zal mi cie ŁF. Jestes moderator wiec zajmij sie swoim. Widze ze go**o wiesz na temat Delphi, wiec moze sie nie wypowiadaj bo robisz sobie siare cwaniaku. Pozdrowienia!

P.S. Jak jestes taki cwaniak, to pokaz, ze faktycznie cos potrafisz i rozwiaz moj problem query z query. Jezeli tego nie zrobisz to smiem twierdzic to co w/w. Udowodnij mi, ze jestes ode mnie lepszy i ze wiesz wiecej ode mnie.
P.S.2. Ludzie!! Kto takich gosci dopuszcza do glosu?!?! :((

// nie mam potrzeby udowadniania czegokolwiek. rzeczywiście trochę wymądrzyłem się w pierwszym poście w tym wątku, ale to cię nie upoważnia do chamskiego zachowania. przejrzałeś wszystkie moje posty, że mówisz o moim niskim poziomie programistycznym? lol! a o twoim poziomie świadczy http://4programmers.net/Forum/viewtopic.php?id=30488&post=152820#152820, nota bene AŻ drugi twój post na tym forum.

1 użytkowników online, w tym zalogowanych: 0, gości: 1