Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
krzesik
Mam dwie tabele

jedną z urządzeniami, a drugą z rekordami dotyczącymi wypożyczenia

chciałbym podać zapytanie pokazujące wypożyczone urządzenia, ale także te wolne i mam z tym problem

pokazanie zajętych urządzeń działa:

  1. SELECT start, stop, czas_najmu, wartosc_najmu, login_start, login_stop, planowany_czas_najmu, uwagi, obiekty.id_obiektu, obiekty.nazwa, obiekty.typ, obiekty.aktywny, obiekty.cena, obiekty.czas FROM rent
  2. LEFT JOIN obiekty ON obiekty.id_obiektu=rent.id_obiektu
  3. WHERE rent.start!='' AND rent.stop='' ORDER BY rent.start+rent.planowany_czas_najmu ASC


myślałem o UNION ale, mi się krzaczy....

  1. SELECT start, stop, czas_najmu, wartosc_najmu, login_start, login_stop, planowany_czas_najmu, uwagi, obiekty.id_obiektu, obiekty.nazwa, obiekty.typ, obiekty.aktywny, obiekty.cena, obiekty.czas FROM rent
  2. LEFT JOIN obiekty ON obiekty.id_obiektu=rent.id_obiektu
  3. WHERE rent.start!='' AND rent.stop='' ORDER BY rent.start+rent.planowany_czas_najmu ASC
  4. UNION
  5. SELECT 1,2,3,4,5,6,7,8, obiekty.id_obiektu, obiekty.nazwa, obiekty.typ, obiekty.aktywny, obiekty.cena, obiekty.czas FROM obiekty WHERE id_obiektu NOT IN (SELECT * FROM rent WHERE start!='' AND stop='')
  6.  


trueblue
Raczej:

  1. SELECT ....
  2. FROM obiekty
  3. LEFT JOIN rent ON rent.id_obiektu=obiekty.id_obiektu
  4. ORDER BY rent.start+rent.planowany_czas_najmu ASC
krzesik
co to zmieni? błąd mam nadal ten sam :-(
trueblue
To zmieni, że zapytanie jest zupełnie inne.

Jaki masz błąd?
krzesik
select * from (
SELECT start, stop, czas_najmu, wartosc_najmu, login_start, login_stop, planowany_czas_najmu, uwagi, obiekty.id_obiektu, obiekty.nazwa, obiekty.typ, obiekty.aktywny, obiekty.cena, obiekty.czas FROM obiekty
LEFT JOIN rent ON rent.id_obiektu=obiekty.id_obiektu
WHERE rent.start!='' AND rent.stop='' ORDER BY rent.start+rent.planowany_czas_najmu ASC) zzz
UNION ALL
SELECT 1,2,3,4,5,6,7,8, obiekty.id_obiektu, obiekty.nazwa, obiekty.typ, obiekty.aktywny, obiekty.cena, obiekty.czas FROM obiekty WHERE id_obiektu NOT IN (SELECT * FROM rent WHERE start!='' AND stop='') LIMIT 0, 25
MySQL zwrócił komunikat: Dokumentacja

#1241 - Operand should contain 1 column(s)
viking
id_obiektu NOT IN (SELECT *

Przemyśl czy porównanie jednej kolumny do wielu ma sens?
krzesik
tak, o to mi chodziło.... dziękuję!
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.