Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 14.12.2008 Ostrzeżenie: (0%)
|
chodzi o coś takiego, że wybieram ileś tam typów i dla tych typów wywołuje procedurę
czyli po SQL-owemu byłoby to WHERE id IN (1,2,3 itd) przekazuję to jako tekst - '1,2,3' - w takiej formie ale jest problem gdy wstawiam to bezpośrednio do zapytania mam błąd Truncated incorrect DOUBLE value: '1,2,3' a wynik jest pobierany tylko dla ID 1 (dokładniej dla pierwszego ID) Jak to zrobić? na razie robię tak - zapytanie jako string - na końcu w procedurze używam instrukcji SET @dyn_sql=sqlQuery; PREPARE s1 FROM @dyn_sql; EXECUTE s1; DEALLOCATE PREPARE s1; ale czy można jakoś bezpośrednio do SQL - bez potrzeby tworzenia zapytania tekstu - przekazać wiele numerów ID? Ten post edytował fragles 6.10.2009, 07:29:28 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Pytanie mam... Czy te numery id podajesz z POST lub GET, czy może także wyciągasz z bazy danych? Ja zazwyczaj mam ten drugi przypadek i wtedy ładnie się upraszcza problem, gdyż wtedy przekazujesz je jako podzapytanie przy IN tak jak sugerujesz na początku wedle schematu:
Jak sam widzisz w podzapytaniu tylko id przy select ustawiasz. Przypadku pierwszego nie miałem okazji stosować z racji takiego rozpisania bazy, że rozwiązanie drugie mi wystarcza (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%)
|
na koniec zdropuj tmpValues Ten post edytował jmail 6.10.2009, 14:08:24 |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 16:51 |