Új hozzászólás Aktív témák
-
válasz Apollo17hu #2199 üzenetére
Ha uniót akarsz, akkor nem így full outer join kell, mert azzal csak "metszet"-et kapsz.
ha unio kell, akkor ott az unio kulcsszó.
select .. from t1 where ...
union / vagy union all /
select ... from t2 where...
[ Szerkesztve ]
<< Nem szabad félni a kudarctól, játszd végig a játékot ! >>
-
Apollo17hu
őstag
válasz FireFox1996 #2201 üzenetére
A legegyszerűbb megoldást keresem egy olyan halmaz létrehozására, ami tartalmazza t1 és t2 minden elemét (az azonos elemeket csak egyszer), és segédmezőkben tárolom, hogy az elem megtalálható-e t1-ben és/vagy t2-ben. Utóbbira CASE WHEN t1.id IS NOT NULL THEN 'x' END t1_fl és t2_fl mezőket vettem fel. Nem tudom, hogy UNION ALL -lal a segédmezők megvalósíthatóak-e. (A segédmezőkre később szűrök, ezért kellenek.)
-
válasz Apollo17hu #2203 üzenetére
Union kell!
Select..., 1 honnan from tábla1
Union
Select..., 2 honnan from tábla2A "honnan" mező alapján tudod hogy tábla1 vagy tábla2-ből származik...
<< Nem szabad félni a kudarctól, játszd végig a játékot ! >>
-
Apollo17hu
őstag
válasz FireFox1996 #2204 üzenetére
Ez azért nem lenne jó, mert ha mindkét táblában megvan a rekord, akkor csak az egyikre vonatkozó érték (1 vagy 2) fog megjelenni "honnan"-ban.
-
martonx
veterán
-
válasz Apollo17hu #2205 üzenetére
Ugyanaz a record többször előfordulhat egy táblában?
<< Nem szabad félni a kudarctól, játszd végig a játékot ! >>
-
Apollo17hu
őstag
válasz FireFox1996 #2208 üzenetére
Nem, az azonosító és az időbélyeg együttesen kulcs.
t1:
id calendar_date
1 2013.12.31
2 2014.01.01
3 2013.12.31
4 2014.01.01
6 2013.12.31
8 2013.12.31
9 2013.12.31
12 2013.12.31t2:
id calendar_date
1 2013.12.31
3 2013.12.31
5 2013.12.31
6 2013.12.31
8 2013.12.31
11 2014.01.01
15 2014.01.01ezt szeretném:
id t1_fl t2_fl
1 x x
3 x x
5 x
6 x x
8 x x
9 x
12 x[ Szerkesztve ]
-
válasz Apollo17hu #2209 üzenetére
1. Csinálsz egy union-t 2 tablabol, plusz 2 üres mezővel: t1_fl, t2_fl. Ez mondjuk t3 táblába megy
2.
Update t3
Set t1_fl= 'x'
Where amely szerepel a t1 táblában3.
Update t3
Set t2_fl= 'x'
Where amely szerepel a t2 táblában[ Szerkesztve ]
<< Nem szabad félni a kudarctól, játszd végig a játékot ! >>
-
Apollo17hu
őstag
válasz FireFox1996 #2210 üzenetére
Ez már így szerintem nem a "legegyszerűbb" megoldás.
Maradok egyelőre Zeratul javaslatánál, remélhetőleg alkalmazható. -
martonx
veterán
válasz Apollo17hu #2207 üzenetére
Jobbnak nem jobb, csak leírva rövidebb, mint egy jó hosszú case when.
Én kérek elnézést!
-
martonx
veterán
válasz Apollo17hu #2211 üzenetére
Esetleg ha sqlfiddle-re tennél fel példát, akkor el is tudnánk mélyedni benne az ötletelés helyett.
Én kérek elnézést!
-
Apollo17hu
őstag
Az nvl-es megoldás működik, ezt kerestem. Ha esetleg lehet még javítani a kódon, azt szívesen fogadom.
-
jozsi84
tag
válasz FireFox1996 #2197 üzenetére
Elnézést a késői reakcióért....
Köszönöm szépen a választ/okat! Sikerült megoldanom... -
dellfanboy
senior tag
mi a legegyszerűbb módja, hogy 1 oszlopban megszámoljam a változókat?
select distinct oszlopnév from táblanév ?mi a helyzet ha két oszlopot akarok lekérni de csak az egyiket sorba rendezni?
eladó dolgok:mondd az árát és vidd http://hardverapro.hu/tag/dellfanboy#aprohirdetesei
-
Ablakos
őstag
válasz dellfanboy #2218 üzenetére
A distinct nem számol, hanem a mögötte álló oszlop(ok)ból egyedi értékeket képez.
select count(distinct oszlopnév ) from táblanév; egyedi értékek számossága -
jocomen
aktív tag
Hali
Access-ben szeretnék egy mezőbe (b) számított értéket íratni: b=a*c
Tábla1: t1_id; a; b
Tábla2: t2_id; cA gond, h még táblán belüli oszlop értékével sem enged számolni. Pl ha "b" cellában, érvényességi szabályként megadom: =a*2 , akkor a következő hibaüzenetet dobja: "érvénytelen sql szintaxis - oszlopszintő CHECK korlátozás esetén nem használható több oszlop".
Néztem microsoft oldalán a leírást, de nem lettem okosabb. Nem tudom értelmezni a hibaüzenetet. Az adatbátist nem én hoztam létre, már meglévőt bővítenék. "c" oszlopot minden további nélkül létre lehet hozni, csak a számított értékkel van valami gond.Végén 2 tábla adataival kellene számolnom, de még táblán belüli oszlopéval se sikerült eddig.
Tudna valaki segíteni?[ Szerkesztve ]
-
jocomen
aktív tag
válasz sztanozs #2223 üzenetére
"1-sok" kapcsolattal: a Tábla2 kulcsa szerepel a Tábla1-ben is külső kulcsként, csak a példába nem írtam bele.
Mondjuk így nézne ki:Tábla2 PK:t2_id; c -----1-sok------- Tábla1 PK:t1_id; FK:t2_id; a; b.
Tábla1 "b" oszlopánál kéne megadni a következő kifejezést az Access számára érthető módon: =c*a
-
sztanozs
veterán
válasz jocomen #2224 üzenetére
Számított mezőnek nem lehet része más tábla mezője.
Query-t viszont össze tudsz dobni, ahol egy mező több forrásmezőből számítódik.SELECT t1.t1_ID, t1.a, [t1].[a]*[t2].(c) AS b
FROM Table1 AS t1 INNER JOIN Table2 AS t2 ON t1.t1_ID = t2.t2_ID;(/C)[/M][ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
diegho
nagyúr
Sziasztok!
Lenne egy problémám. Adott egy kulcs-szoft könyvelő program, ami SQL adatbázisba menti a dolgait. A vinyó, amin ment a progi és az adatbázis meghalt, de le tudtam menteni róla a program files-t. A probléma az, hogy ebben a kulcs programban, csak úgy tudok adatokat menteni, ha feltelepítem újra és a saját mentő részével kimentem. Ez a mentő rész értelemszerűen az sql-ből menti ki a dolgait, de ugyebár nekem csak a régi kimásold sql mappám van meg, amiben ott van minden, de hiába másolom be az újba, azt mondja, hogy nem tudja kimenteni, mert pár hivatkozás nem egyezik. Mit tudok tenni?
-
diegho
nagyúr
válasz PumpkinSeed #2229 üzenetére
Csak egy visszatöltő programja van, ami már előre kimentett adatbázist tud visszatölteni. MS SQL 2005-öt használ szerverként. Fogalmam sincs mit tehetnék. Amikor csak rámásolom az adatbázist, akkor a program látja, hogy ott vannak a cégek, de megnyitni és kimenteni nem tudom őket.
[ Szerkesztve ]
-
csabyka666
addikt
Üdv mindenkinek!
Tudtok valami módot arra, hogy milyen módon lehet azt visszajeleztetni mysql-lel, ha egy táblában történt változás?
Úgy módosítok egy táblát, hogy feltételhez kötöm, hogy egy felhasználó módosíthassa a rekordokat, avagy sem. Ezt úgy érem el, hogy PHP alól a jogosultságnak megfelelően alakítom ki a lekérdezés szövegét. Le is fut, és jól is csinálja, amit csinál, viszont ha így akarom megtudni az eredményt:
if ( mysql_query( $query ) ) {
echo "siker";
}
akkor minden esetben "siker"-t kapok vissza, én pedig csak akkor szeretném ezt visszakapni, ha tényleg módosult valami a táblázat adott sorában - az előző állapothoz képest.Szóval ha lefutott a kifejezés, de nem változtatott semmit a táblán, akkor azt akarom visszakapni, hogy "nincs jogosultságod".
Nem tudom, mennyire volt érthető a problémám, de köszönöm a segítséget előre is!
Ágdarálást, kaszálást, területtisztítást vállalok profi gépekkel! Elsősorban Zala megye és vonzáskörzete, de minden megkeresést meghallgatok. +36305633091
-
cacattila
csendes tag
válasz csabyka666 #2233 üzenetére
talán ilyesmire gondolsz?
[link] -
PumpkinSeed
addikt
Oracle SQL-hez lenne kérdésem. Vannak ezek az external táblak, nem nagyon értem, hogy mire valók ezek!?
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY def_dir1
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
FIELDS (employee_number CHAR(2),
employee_dob CHAR(20),
employee_last_name CHAR(18),
employee_first_name CHAR(11),
employee_middle_name CHAR(11),
employee_hire_date CHAR(10) date_format DATE mask
"mm/dd/yyyy“))
LOCATION ('info.dat'));Van egy leírás ami megmondja, hogy az adott utasítás részek mit csinálnak, de az nem derül ki belőle, hogy mi is a tényleges haszna ennek.
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
bpx
őstag
válasz PumpkinSeed #2237 üzenetére
Az, hogy odamásolsz pl. egy CSV file-t és tudsz belőle úgy lekérdezni, mintha közönséges tábla lenne.
-
martonx
veterán
válasz PumpkinSeed #2239 üzenetére
Van két adathalmazod. Az egyik SQL táblában, a másik meg egy szöveg fileban mondjuk vesszővel elválasztva.
Mit teszel, ha a kettő közös metszetét kellene meghatároznod?
Persze elkezdheted mindkettőt lekérni, majd memóriában for-okkal összeforgatni, és ifekkel ellenőrizni.
Vagy fogod, feltöltöd a csv-det egy ilyen external táblába, és egy szimpla sql select-el megkapod a közös halmazt.
Kapisgálod, hogy mire jó ez?Én kérek elnézést!
-
Ablakos
őstag
válasz PumpkinSeed #2237 üzenetére
Mire való? Jó nagyot szívni, mire megtalálja a fejlesztő, melyik rekord vajon miért nem akar bemenni az adatbázisba
-
V.Stryker
nagyúr
Sziasztok,
Ha jól tudom,akkor az MS-SQL-nek van ingyenes verziója. Ilyen 2000 vagy 2005 -ös verziót honnan tölthetnék le?
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
V.Stryker
nagyúr
válasz DopeBob #2243 üzenetére
Hát mivel egy 4 giga ramos E5700 -el rendelkező gépre kell, ezért igen, jó lenne régi, aminek kicsi a hardverigénye.
Aha, ez megvan....innen mind kell?
ENU\x64\SQLEXPR_x64_ENU.exeENU\x64\SQLEXPRADV_x64_ENU.exe
ENU\x64\SQLEXPRWT_x64_ENU.exe
[ Szerkesztve ]
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
DopeBob
addikt
válasz V.Stryker #2244 üzenetére
Bőven jó ez a 2012-höz is
Microsoft® SQL Server® 2012 Express
ENU\x64\SQLEXPRADV_x64_ENU.exe ezt töltsd el és majd telepítésnél kiválasztod, hogy mi kell, ebben benne van alapból a Management Studio is.
[ Szerkesztve ]
MZ/X
-
V.Stryker
nagyúr
válasz DopeBob #2245 üzenetére
Köszi. Igazából egy beléptető rendszer (Seawing) programját akarom feltenni, hogy gyakorlatozzak rajta, de az egész adatbázisa ezen alapszik. Én meg ehhez h.lye vagyok és majd jövök jó kis kérdésekkel.
martonx:
[ Szerkesztve ]
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
PumpkinSeed
addikt
-
csabyka666
addikt
Üdv mindenkinek!
Szeretném üríteni a tábláimat, hogy az indexek visszaálljanak nullára, és teljesen üresek legyenek a táblák.
Szerintem nektek már ismerős lesz, ezt kapom: #1701 - Cannot truncate a table referenced in a foreign key constraint [...]
A táblákat úgy hoztam létre, hogy minden "FOREIGN KEY" után odaírtam az "ON DELETE CASCADE ON UPDATE CASCADE"-t, de ezzel sem javult a helyzet. Olvastam, hogy ha a "FOREIGN_KEY_CHECKS = 0"-t beállítjuk, majd ürítjük a táblát, és visszaállítjuk a "FOREIGN_KEY_CHECKS"-t, akkor működik az ürítés, de ez gondolom a favágó módszer...szóval nincs valami egyszerűbb megoldás?Ha újra kell tervezni hozzá az adatbázist, akkor tárgytalan, mert lehet, hogy sohasem fogom használni az ürítést, vagy ha mégis használom, akkor minden táblát ürítek, szóval akkor már inkább DROP-olom, és létrehozom újra...
Ágdarálást, kaszálást, területtisztítást vállalok profi gépekkel! Elsősorban Zala megye és vonzáskörzete, de minden megkeresést meghallgatok. +36305633091