Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie
Forum PHP.pl > Forum > Przedszkole
pajaa1981
Mam tabelę z dużą ilością danych. Mam zamiar wyciągać z niej około 30 sprecyzowanych rekordów. Każde wyciągam osobno, ale w jednym zapytaniu (UNION SELECT). I teraz, jeśli któryś z tych rekordów nie istniał, to po prostu go nie wyciągnęło, a cała reszta jest. Problem polega na tym, że chciałbym, aby w przypadku braku rekordu zwracało mi chociaż tabele 'error' z wartością 1 (przykład, chce obojętnie jaki znak, że akurat tego nie dało się wyciągnąć, bo nie istnieje).
.radex
A nie możesz po prostu sprawdzić tego sobie w PHP? Nie ma sensu nadmiernie komplikować zapytań.

PS. Jeśli przez "30 sprecyzowanych rekordów" masz na myśli 30 rekordów o danych ID, to możesz łatwiej to zrobić za pomocą "SELECT * FROM x WHERE id IN(1,2,3, ...)" (chyba, że czegoś nie zrozumiałem?)
pajaa1981
Nie mogę tego zrobić za pomocą PHP, bo będę musiał każdy rekord pobierać osobno (30 zapytań).
.radex
Dlaczego?

Masz 30 ID, tak? (nie zaprzeczyłeś, więc przypuszczam, że tak)

Pobierasz je w jednym zapytaniu, a później przejeżdżasz pętlą i sprawdzasz, czego brakuje.

Mógłbyś sprecyzować problem, bo chyba czegoś nie rozumiem.
pajaa1981
Nie, rekordy pobieram według nie 2 wartości, nie po ID.
.radex
Cytat(pajaa1981 @ 21.04.2011, 20:32:22 ) *
Nie, rekordy pobieram według nie 2 wartości, nie po ID.


Według czego?

Pozwól, że powtórzę moją prośbę: wytłumacz lepiej swój problem, w zrozumiały sposób, bez skrótów myślowych. Wybacz, ale naprawdę ciężko Cię zrozumieć.
hieroshima
pobieraj zapytanie w petli co za problem? Wypisujesz zapytnie id $id zaczynasz od 1 i w petli np for

for($id=1; $id<=30; $id++)
{
$zapytanie = "SELECT * FROM x WHERE id=$id";
...
...
}
pajaa1981
Ale to prymitywne rozwiązuje mój problem, bo będę wykonywał 25 zapytań zamiast jednego.

Tłumacze drugi raz: mam tabele z dużą ilością danych. Pobieram z niej LOSOWE rekordy o wybranych 2 parametrach z rekordu. Chcę, aby w przypadku jego braku był jakiś ślad. Bo tak to zwróci tablice tylko mniejszą o brakującą liczbę. Dalej nie rozumiesz?
pmir13
Ale co to są za parametry? Zdecyduj się co chcesz osiągnąć?
Chcesz wyciągnąć 25 losowych rekordów spełniających dwa warunki?
Chcesz wyciągnąć 30 sprecyzowanych rekordów?
Podaj dokładne warunki jakie muszą te rekordy spełniać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.