błędne zapytanie z dwóch kolumn ?
Tomasz - 18-11-2005 12:01
błędne zapytanie z dwóch kolumn ? Witam.
Mam pewien problem. Jest baza z kilkoma tabelami. Istotne są w tym przypadku dwie: ankiety i zamowienia. Wykonuję zapytanie, które ma wybrać z tych tabel klientów, którzy odpowiedzieli na dane pytanie tak/nie oraz złożyli zamówienie w określonym przedziale czasu. Zrobiłem to tak (wkleję z php, mam nadzieje, że nie przeszkadza):
$a_zapytanie = "SELECT $a_tabela.k_numer, $a_tabela.z_nrz, $a_tabela.$pytanie_kom, $a_tabela.a_plik, $z_tabela.z_data FROM $a_tabela, $z_tabela WHERE $a_tabela.{$_POST["pytanie"]} = \"{$_POST["odpowiedz"]}\" AND $z_tabela.z_data <= \"$do_data\" AND $z_tabela.z_data >= \"$od_data\"";
Selekcja na podstawie pytanie=odpowiedz dziala ok, natomiast jak dopisalem to z datami, to zaczyna się psuć (trudno mi nawet opisać efekt takiego selecta, dlatego nie wiem gdzie błąd). Wygląda na to, że wybiera wszystkich mieszczących się w przedziale od_data - do_data i w miejsce wszystkich k_numer wpisuje k_numer pierwszego wybranego klienta.
Co zrobiłem źle ?
Tomasz.
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Lucyna Witkowska - 18-11-2005 12:01
Tomasz <tomusiolekWYTNIJTO@poczta.onet.pl> napisał: > Mam pewien problem. Jest baza z kilkoma tabelami. Istotne są w tym przypadku > dwie: ankiety i zamowienia. Wykonuję zapytanie, które ma wybrać z tych tabel > klientów, którzy odpowiedzieli na dane pytanie tak/nie oraz złożyli zamówienie w > określonym przedziale czasu. > Zrobiłem to tak (wkleję z php, mam nadzieje, że nie przeszkadza):
> $a_zapytanie = "SELECT $a_tabela.k_numer, $a_tabela.z_nrz, > $a_tabela.$pytanie_kom, $a_tabela.a_plik, $z_tabela.z_data FROM $a_tabela, > $z_tabela WHERE $a_tabela.{$_POST["pytanie"]} = \"{$_POST["odpowiedz"]}\" AND > $z_tabela.z_data <= \"$do_data\" AND $z_tabela.z_data >= \"$od_data\"";
> Selekcja na podstawie pytanie=odpowiedz dziala ok, natomiast jak dopisalem to z > datami, to zaczyna się psuć (trudno mi nawet opisać efekt takiego selecta, > dlatego nie wiem gdzie błąd). Wygląda na to, że wybiera wszystkich mieszczących > się w przedziale od_data - do_data i w miejsce wszystkich k_numer wpisuje > k_numer pierwszego wybranego klienta.
> Co zrobiłem źle ?
Nie połączyłeś tych tabel ze sobą - brakuje warunku join np. po nr klienta. Pozdrowienia, LW
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
=?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?=
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?=
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
[MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?=
mecze sie i mecze i nic - zapytanie czesciowe
zanotowane.pldoc.pisz.plpdf.pisz.plmorebeer.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|