Új hozzászólás Aktív témák
-
L3zl13
nagyúr
válasz
vakondka
#469
üzenetére
Még nem használtam így, de ha minden igaz, akkor amennyiben a felhasználó rendelkezik a megfelelő jogokkal mindkét adatbázishoz, akkor elhagyhatod a mysql_select_db-t, és elég csak a queryben megadnod, hogy melyik tábla melyik adatbázisban található az adatbázis.tábla formátumot használva.
-
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. -
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.
-
L3zl13
nagyúr
Szvsz vagy valami viszonylag egyszerű scripttel átkonverálod az inserteket update-té, vagy létrehozol egy átmeneti táblát az adatbázisban, abba feltöltöd az insertekkel az adatot (Egy szövegszerkesztőben csere minddel átírod a táblanevet.) és utánna többsoros update-tel frissíted az éles táblát.
Elvileg az InterBase is tud többsoros update-et.UPDATE Country
SET CODE = (SELECT CODE FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET NAME = (SELECT NAME FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET CLASSIFIER = (SELECT CLASSIFIER FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET CATEGORY = (SELECT CATEGORY FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET ENABLED = (SELECT ENABLED FROM CountryTMP WHERE Country.ID=CountryTMP.ID);Csak akkor müxik, ha a beágyazott select-ek mindig csak egy sort adnak vissza.
-
L3zl13
nagyúr
Mysql + random:
RAND(), RAND(N)
Returns a random floating-point value v between 0 and 1 inclusive (that is, in the range 0 <= v <= 1.0). If an integer argument N is specified, it is used as the seed value, which produces a repeatable sequence.
...
To obtain a random integer R in the range i <= R <= j, use the expression FLOOR(i + RAND() * (j – i).
...
You cannot use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times. However, you can retrieve rows in random order like this:
SELECT * FROM tbl_name ORDER BY RAND();
...
[link] -
L3zl13
nagyúr
Első körben talán valahogy így...
Persze lehet, hogy van jobb megoldás.
SELECT * FROM brick, [SELECT CONCAT(nev, region) as nev_reg FROM brick GROUP BY nev_reg having count(*) = 1]. AS [nev_reg] WHERE nev_reg = CONCAT(nev, region);
Jah, CONCAT MySQL függvény. Nem tudom te mit használsz...
[Szerkesztve] -
L3zl13
nagyúr
válasz
Szaki@Pécs
#66
üzenetére
Az övé azért nem jó, mert nem egyszerre vizsgálja a két paramétert. Szóval ha bármelyik paraméter szerepel a táblában, akkor már nem kerül bele a listába. Függetlenül attól, hogy a másik paraméterrel egy sorban szerepelt-e vagy sem...
Ps az enyém sem biztos, hogy jó, persze ezért próbáld ki.
Ha így nem megy, akkor még trükközhetsz olyannal, hogy:
delete from x where (param1+param2) not in (select param1+param2 from y)
+ helyett a megfelelő szöveg összefűzés művelettel
[Szerkesztve] -
L3zl13
nagyúr
Új hozzászólás Aktív témák
- Hobby elektronika
- Luck Dragon: Asszociációs játék. :)
- Diablo IV
- Okosóra és okoskiegészítő topik
- Honor Magic8 Lite - a félig sikerült bűvésztrükk
- Kés topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Bundle topik
- ASZTALI GÉP / ALKATRÉSZ beárazás
- További aktív témák...
- Armani Acqua di Giò Profondo Parfum 50ml
- Yves Saint Laurent Y EDP 60ml
- HP Elitebook 845 G7 (AMD Ryzen 5 PRO 4650U 6 mag 12 szál, 14" FullHD) több darab, akár 19.990Ft
- BESZÁMÍTÁS! Apple Macbook Pro16 M4 Pro 24GB RAM 512GB SSD notebook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple Macbook Air 15 2025 M4 24GB RAM 512GB SSD notebook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Akár részletfizetés 0% THM ÚJ Intel LGA 1700 processzorok 3 év garanciával 27% áfaval
- iPhone 11 Pro 64GB 100% (3 hónap garancia)
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- AKCIÓ! Asus VG27AQ3A 27 180Hz QHD IPS 1ms monitor garanciával hibátlan működéssel
- REFURBISHED - Lenovo ThinkPad 40AF Dock (DisplayLink) (2 4K felbontás)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


