Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]zapytanie mysql do 2 tabel
Forum PHP.pl > Forum > Przedszkole
bartolini
[php][php]Mam mały problem mianowice.
Mam dwie tabele

1. LOKALE
id_lokale

2.AUKCJE
id_lokalea

Potrzebuje zapytania w mysql które wyświetli z tabeli LOKALE id_lokale oprócz tych które sa w Id_lokalea w tabeli AUKCJE

Jeśli może ktoś pomóc to bede wdzięczny
maly_swd
  1. SELECT * FROM lokale l WHERE l.id_lokale NOT IN (SELECT a.id_lokalea FROM AUKCJE a)
bartolini
próbowalem w ten sposób i w miejscu (SELECT a.id_lokalea FROM AUKCJE a) niby jest blad dodlem pojedynczy cudzyslow ('SELECT a.id_lokalea FROM AUKCJE a') i bledu nie wyrzuca ale wyswietla wszystkie id_lokale z tabeli Lokale tak jakby nie bral pod uwage tego select-a
maly_swd
jaki blad wyswietla?
  1. SELECT * FROM lokale l WHERE l.id_lokale NOT IN (SELECT a.id_lokalea FROM AUKCJE a)
bartolini
MySQL zwrócił komunikat
#1064 - Something is wrong in your syntax obok 'SELECT a.id_lokalea FROM AUKCJE a) LIMIT 0, 30' w linii 1
maly_swd
pokaz strukture tabeli
bartolini
-- Struktura tabeli dla `aukcje`
--

CREATE TABLE `aukcje` (
`id_aukcje` int(11) NOT NULL auto_increment,
`id_lokalua` int(11) NOT NULL default '0',
`cena` float NOT NULL default '0',
`opis` text NOT NULL,
`foto_link` text NOT NULL,
`foto_link2` text NOT NULL,
`foto_link3` text NOT NULL,
`foto_link4` text NOT NULL,
`foto_link5` text NOT NULL,
PRIMARY KEY (`id_aukcje`)
) TYPE=MyISAM AUTO_INCREMENT=112 ;

-- Struktura tabeli dla `lokale`
--

CREATE TABLE `lokale` (
`id_lokalu` int(11) NOT NULL auto_increment,
`typ` varchar(15) NOT NULL default '',
`ulica` varchar(50) NOT NULL default '',
`nr` varchar(10) NOT NULL default '',
`kod` varchar(6) NOT NULL default '',
`miasto` varchar(30) NOT NULL default '',
`liczba_pokoi` int(2) NOT NULL default '0',
`kuchnia` int(11) NOT NULL default '0',
`lazienka` int(11) NOT NULL default '0',
`piwnica` int(11) NOT NULL default '0',
`garaz` int(11) NOT NULL default '0',
`pow_calk` float NOT NULL default '0',
`liczba_osob_zam` int(2) NOT NULL default '0',
`imie_wlasciciela` varchar(30) NOT NULL default '',
`nazwisko_wlasciciela` varchar(40) NOT NULL default '',
`nr_tel` varchar(9) NOT NULL default '',
`stan_zadluz` float NOT NULL default '0',
PRIMARY KEY (`id_lokalu`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;

wczesniej zrpbilem literówke w id_lokalu i id_lokalua ale w zapytaniu poprawilem i jest to samo
thek
Logika zapytania...
Wybierz wszystkie lokale, których id nie znajduje się w aukcjach a lokale te są unikatowe...
  1. SELECT * FROM lokale WHERE id_lokalu NOT IN (SELECT DISTINCT id_lokalua FROM aukcje)
maly_swd
Zanim zaczniesz zakladac temat, sprawdz czy dane jakie podajesz sa poprawne:
powiedz mi gdzie w twojej tabeli wystepuje "

2.AUKCJE
id_lokalea <- gdzie to masz?
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.