嗨,我目前正在通过一些考试为大学工作,我有点坚持与当前任务
我知道我应该解决独自但即时通讯卡和绝望
谁借给同一本书的施密茨女士做?打印出自己的姓氏
您不允许使用子查询尽管
这里是我的尝试:
SELECT l.Nachname
FROM Ausleihe as a
LEFT JOIN Leser as l on a.LeserOID = l.LeserOID
WHERE ExID IN (
SELECT ExID
FROM Ausleihe
LEFT JOIN Leser L2 on Ausleihe.LeserOID = L2.LeserOID
WHERE l2.Nachname = 'Schmitz'
);
这个完美的作品,但它与子查询。
**Buch -> Book**
BuchOID -> BookOID
Titel -> Title
Verfasser -> Author
**Vormerkung -> Reservartion**
LeserOID -> ReaderOID
BuchOID -> BookOID
VormDat -> Reservation date
**Leser -> Reader**
LeserOID -> ReaderOID
Nachname -> Last name
Mail
**Exemplar -> Copy**
BuchOID -> BookOID
ExID -> CopyID
AnschDat -> Date of aqusition
**Ausleihe -> Lending**
BuchOID -> BookOID
ExID -> CopyID
LeserOID -> ReaderOID
LNr -> *PK of this table*
ADat -> Lending date
RDat -> Return date
**Mahnung -> Reminder**
MahnungOID -> ReminderOID
LeserOID - > ReaderOID
BuchOID -> BookOID
ExID -> CopyID
Datum -> date
Betrag -> amount
你可以试试下面 -
SELECT l.Nachname
FROM Ausleihe as a
LEFT JOIN Leser as l on a.LeserOID = l.LeserOID
JOIN Leser L2 on a.LeserOID = L2.LeserOID
WHERE l2.Nachname = 'Schmitz'
如果使用的是左连接,如果没有关系,它会返回结果与空,所以你需要如果不为null添加条件
SELECT l.Nachname
FROM Ausleihe as a
LEFT JOIN Leser as l on a.LeserOID = l.LeserOID
LEFT JOIN Leser L2 on Ausleihe.LeserOID = L2.LeserOID
WHERE L2.Nachname is not null and L2.Nachname = 'Schmitz'
或与内部联接,你可以做这样的事情
SELECT l.Nachname
FROM Ausleihe as a
LEFT JOIN Leser as l on a.LeserOID = l.LeserOID
INNER JOIN Leser L2 on (Ausleihe.LeserOID = L2.LeserOID AND and L2.Nachname = 'Schmitz')
或者只是像这样
SELECT l.Nachname
FROM Ausleihe as a
LEFT JOIN Leser as l on a.LeserOID = l.LeserOID
INNER JOIN Leser L2 on Ausleihe.LeserOID = L2.LeserOID
WHERE L2.Nachname = 'Schmitz'