私は、IN文を使って他のmysqlクエリに埋め込まれたmysqlクエリを使うことになると、初心者です。MYSQLとINのリクエスト
私は現在、このクエリを持っている:
SELECT DISTINCT BorName
FROM Borrower
WHERE BorId IN (
SELECT Borrower.BorId
FROM Loan
WHERE Loan.BcId IN (
SELECT BookCopy.BcId
FROM BookCopy
WHERE BookCopy.BtId In (
SELECT BookTitle.BtId
FROM BookTitle
WHERE BookTitle.PubId In (
SELECT Publisher.PubId
FROM Publisher
WHERE `PubName` = CONVERT(_utf8 'Methuen' USING latin1) COLLATE latin1_swedish_ci
)
)
)
);
私は基本的に借り手が出版社メシュエンから本を借りているかどうかを確認しようとしています。私はちょうど間違っていることを解決するように思えない、私は個々のステートメントを通過しているし、すべてのINステートメントで全体の要求ではなく動作するようです。
誰が何が間違っているのを見分けることができますか?また、私はあなたの最初のサブクエリに問題があったと思う
SELECT DISTINCT b.BorName
FROM
Borrower b
JOIN Loan l ON l.BorId = b.BorId
JOIN BookCopy bc ON bc.BcId = l.BcId
JOIN BookTitle bt ON bt.BtId = bc.BtId
JOIN Publisher p ON p.PubId = bt.PubID
WHERE
p.PubName = CONVERT(_utf8 'Methuen' USING latin1) COLLATE latin1_swedish_ci
:等が提案
内部結合を使用しても動作しますか? –
必要なデータを取得する前に、すべてのテーブルに参加しますか? –
結合が結果を返さない場合、ユーザーはその本を借りていません。サブクエリは不要です。 – mikerobi