Ú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
- Elektromos autók - motorok
- Megkérdeztük az AI-t: milyen érzés, amikor megreguláznak?
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- TCL LCD és LED TV-k
- WoW avagy World of Warcraft -=MMORPG=-
- Star Trek
- EAFC 26
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Vezetékes FÜLhallgatók
- További aktív témák...
- Apple Watch SE 2gen 44mm, Wi-fi, 1 Év Garanciával
- Samsung Galaxy A23 5G 128GB, Kártyafüggetlen, 1 Év Garanciàval
- OneXPlayer Mini Pro Ryzen7 6800U Win 11 handheld konzol új akku, 7" FullHD, 16GB, 1TB, doboz + tok
- Új HP Elitebook X G1i 14 AI, 14" FHD+ IPS, Ultra 7 258V, 32GB DDR5, 1TB NVMe, WIFI 7, gar
- Asztali PC , i5 8600k , 1660 Ti , 16GB 3200MHz , 500GB m.2
- ÁRGARANCIA! Épített KomPhone i5 10400F 16/32GB/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Ducky One 3 FULL/TKL/SF/MINI billentyűzetek többféle színben és kapcsolókkal!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Ultimate előfizetés akár 4714 Ft/hó áron! Azonnali, automatizált aktiválással, csak Nálam!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs



