Új hozzászólás Aktív témák
-
ArchElf
addikt
válasz oroltbors #376 üzenetére
MySql-ben nem látok INTERSECT-et. Mit szeretnél amúgy csinálni?
:mod:
Amit amúgy szerintem keresel az az UNION
:mod2:
Most látom, hogy az INTERSECT meg az UNION különbségét...
Sajna nincs a MySql-ben INTERSECT. Próbáld meg áttervezni a lekérdezést JOIN-ra.AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
L3zl13
nagyúr
válasz oroltbors #376 üzenetére
Ha minden igaz az Intersect kapcsolat azokat a sorokat adná vissza, amelyek mindkét lekérdezésben benne vannak. Ezt szvsz egy egymásba ágyazott selecttel lehet helyettesíteni.
select ... from (select ... from ... where ...) as x where ...
Vagy pedig joinná átalakítani.
Szerk: Ja látom ArchElf linkjén is ilyesmit írnak.
[ Szerkesztve ]
Aki hülye, haljon meg!
-
L3zl13
nagyúr
válasz oroltbors #381 üzenetére
Első körben az unionnak itt semmi értelme itt szerintem.
Egy SELECT * FROM component WHERE typeID = 1 or typeID=2 sokkal jobb megoldás szerintem.Másrészt meg a fenti példámban írtam a helyes szintaxist. Az al lekérdezésnek kell adni egy aliast, hogy táblaként kezelje.
Tehát helyesen így lenne:
SELECT * FROM (SELECT * FROM component WHERE typeID = 2 or typeID=1) as tempUnionnál meg egyszerűen írd a végére a te verziódnak, hogy 'as akármi'
Ja, és javasolnám, hogy szerezz be egy SQL klienst. Például egy phpMyAdmint vagy egy sqlyogot. Akkor nem csak a num_rows-nál derülne ki állandóan, hogy hibás volt a lekérdezés, és értelmes SQL hibaüzenetet kapnál vissza ami sokkal beszédesebb volna.
Vagy irass ki egy mysql_error()-t a query után.[ Szerkesztve ]
Aki hülye, haljon meg!