Sziasztok!
Egy újabb kérdés..:
Ezek a táblák vannak:
ANYAG {azonosító, a_név, mért_egys, készlet, átl_ár}
BESZERZÉS {dátum, azonosító, mennyiség, be_ár, áfa_sz}
TERMÉK {kód, t_név, akt_ár}
MINŐSÍTÉS {alsó, szöveg}
SZERKEZET {kód, azonosító, menny}
ÁRVÁLT {kód, mikor, régi_ár}
PARTNER {pkód, p_név, irsz, hely, utca, tel}
REND_FEJ {rendszám, kelt, hat_idő, pkód, végösszeg}
REND_TÉTEL {rendszám, kód, r_menny, kész}
ENGEDMÉNY {határ, százalék}
És ez pedig a kérdés: Kik azok a partnerek, akik legalább 1 éve nem rendeltek.
Remélem ebben még tudtok segíteni.
Előre is köszi.
SQL kérdések - Szoftverfejlesztés fórum
hozzászólások
aton-hawk
(tag)
Gondolom a REND_FEJ táblából lehet ezt lekérdezni:
SELECT pkód FROM REND_FEJ GROUP BY pkód HAVING MAX(kelt) < NOW() - INTERVAL 1 YEAR
(ez így mysql szintaxis)
Ha a pkód-on kívül egyéb adatok is kellenek akkor azt nyilván a PARTNER táblából lehet megkapni.
[Szerkesztve]
van egy ilyen lekérdezésem:
SELECT COUNT(r_szam) AS darabszam
FROM gyart_rendelesek
WHERE rend_ido > add_months(sysdate,-12)
GROUP BY vevo;
ez a vevők rendelésszámát adja vissza és van egy ilyen:
SELECT gyart_vasarlok.vevo, gyart_vasarlok.adoszam, gyart_vasarlok.letrehozva
FROM gyart_vasarlok
WHERE ... ;
ez pedig a vásárlóim adatait kérdezi le, akik bizonyos feltételnek megfelelnek. azt szeretném, hogy mondjuk azok a vásárlók legyenek kilistázva akiknek 2 megrendelése van de ha ezt írom:
SELECT gyart_vasarlok.vevo, gyart_vasarlok.adoszam, gyart_vasarlok.letrehozva
FROM gyart_vasarlok
WHERE (SELECT COUNT(r_szam) AS darabszam
FROM gyart_rendelesek
WHERE rend_ido > add_months(sysdate,-12)
GROUP BY vevo)=2;
az ezt írja:
WHERE (SELECT COUNT(r_szam) AS darabszam
*
Hiba a(z) 3. sorban:
ORA-01427: single-row subquery returns more than one row
szóval valaki mondja meg plz, hogy hogyan kell
Összakapcsolod a 2 táblát (join), csoportosítasz vevő szerint és szűrsz a darabszámra (HAVING COUNT(*) = 2)
Hogy lehet korábbi constraintet módosítani, illetve újat hozzáadni? Elvileg az Alter table xxx add xxx lenne a forma, nem? De valami baja van mindig. :S
Lortech
(addikt)
alter table tablanev add constraint attributumnev,...
A ''valami baja van mindig'' kellene nekünk (hibaüzenet?), lehet, hogy már tartalmaz olyan sorokat az oszlop, amik kizárják azt, hogy ráhúzd az egyedi megszorítást.
Viszont teszek fel kérdést. Van két tábla: filmek, s kölcsönzések, a lekérdezés a következő lenne: 1 évnél nem régebben kivett filmek lekérdezése, illetve amit nem vettek ki, annál soha kiírása. decode-ot, vagy nvl-t kéne használni.
Decodenál lehet olyan feltételt megadni, hogy valaminél nagyobb legyen a kifejezés? Ha igen, hogy?
Mert így nem jó:
decode(borrows.dateofcreation, null, 'SOHA',
>sysdate-365, borrows.dateofcreation)
(mondjuk nem lep meg, de mit lehet ilyenkor kezdeni?)
acces lekérdezések szerkesztőlécen utána nézetváltás sql nézetre (bár nem biztos, hogy szabályos lesz)
igaz, ahogy látom Ti kódból nyomjátok
[Szerkesztve]
Izé, ha azokat kell kiírni amiket egy évnél nem régebben vagy soha nem vettek ki, akkor úgyis van where szûrés, szóval a decode-ban már nem kell vele foglalkozni. Ha a dateofcreation dátum típusú, akkor azt lehet, hogy még szöveggé is illene konvertálni.
Kb valami ilyesmire gondoltam:
SELECT ... DECODE(borrows.dateofcreation, NULL, 'SOHA', TO_CHAR(borrows.dateofcreation)) ... WHERE borrows.dateofcreation IS NULL OR borrows.dateofcreation > sysdate - 365
Drótszamár
(őstag)
Sziasztok!
2 adatbázis (nem adattábla) között lehet valahogy adatokat cserélgetni.
Vagy csak itt a táblanevek helyett úgy kell hogy adatázis.táblanév ?
Ez alapján kéne még nekem lekérdezni a members.name-t is:
SELECT min(members.dateofbirth), videos.title
from borrows, videos, members
WHERE borrows.video=videos.videoid AND borrows.member=members.memberid
GROUP BY videos.title;
De nincs ötletem hogyan. Annyi biztos, hogy join kell, de hogyan?
Drótszamár
(őstag)
Szertinem ennnyi:
SELECT min(members.dateofbirth), videos.title , members.name
from borrows, videos, members
WHERE borrows.video=videos.videoid AND borrows.member=members.memberid
GROUP BY videos.title;
[Szerkesztve]
Mysql-re egyelõre csak ezt találtam: [link]