- Yettel topik
- Honor Magic5 Pro - kamerák bűvöletében
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy A54 - türelemjáték
- Vodafone mobilszolgáltatások
- Samsung Galaxy A53 5G - kevesebbet többért
- Redmi Note 13 Pro+ - a fejlődés íve
- iPhone topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi Mi 9 SE - csúcsimitátor
Hirdetés
-
Konzolokra is megjelenik a Deathbound
gp A PC-s verzió mellett megkapjuk a teljes kiadást PlayStation és Xbox platformokra is.
-
Rossz üzlet az EV-kölcsönzés
it Küszködik az EV-kölcsönzés miatt a Hertz Global, még több EV-t adnak el.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
Új hozzászólás Aktív témák
-
L3zl13
nagyúr
Egy körben szvsz így:
delete from x where (param1, param2) not in (select param1, param2 from y)
Először szvsz delete helyett használj select *-ot és csekkold, hogy jó-e. Vagy biztonsági másolat.
Szerk: Az uccsó mondat a kérdezőnek szólt természetesen.
[Szerkesztve]Aki hülye, haljon meg!
-
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]Aki hülye, haljon meg!
-
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]Aki hülye, haljon meg!
-
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]Aki hülye, haljon meg!
-
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.
[ Szerkesztve ]
Aki hülye, haljon meg!
-
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!
-
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.
Aki hülye, haljon meg!
Új hozzászólás Aktív témák
- Ukrajnai háború
- Yettel topik
- PlayStation 4
- Kamionok, fuvarozás, logisztika topik
- Azonnali VGA-s kérdések órája
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kedvenc zene a mai napra
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- LEGO klub
- EAFC 24
- További aktív témák...