私は、MySQL DBの整合性をチェックするSQLスクリプトを作成しています。クエリは、異なるテーブルの異なる側面をチェックするので、関連しません。私はそれらを関連させたくありません。私はちょうど別のクエリの結果を見たいと思っています。無関係なSQLサブクエリから複数の行を返します
個々のクエリは正常に動作しますが、同時に実行することもできますが、結果は別々にしておきます。何も返さないか、複数の行を返すことができます。 (理想的には、私は見出しが結果をより見やすくしたいのですが。)
エラーが
「エラーコード:1242サブクエリが複数の1行を返す」である
ここで何がだが私は試しました:
SELECT
(-- Teams not associated with any employees
SELECT id
FROM teams
WHERE NOT EXISTS
(SELECT id
FROM employee_teams
WHERE employee_teams.teamID IN(teams.id))) AS TeamNoEmployee,
(-- Teams deleted but associated with employees
SELECT teamID
FROM employee_teams
WHERE NOT EXISTS
(SELECT id
FROM teams
WHERE teams.id IN(employee_teams.teamID))) AS TeamsDeleted
アップデート:@JohnHCを持っています。ここに私の新しいバージョンがあります。私は各クエリのヘッダーを追加できるようにする必要がありますので、私はそれらを区別することができます。
-- Teams not associated with any employees
SELECT 'Team No Employee' AS Test, id
FROM teams
WHERE NOT EXISTS
(SELECT id
FROM employee_teams
WHERE employee_teams.teamID IN(teams.id))
UNION
-- Teams deleted but associated with employees
SELECT 'Teams Deleted', teamID
FROM employee_teams
WHERE NOT EXISTS
(SELECT id
FROM teams
WHERE teams.id IN(employee_teams.teamID))
UNION ALLを使用するとどうなりますか? –
問題は、各サブクエリに異なる数のチームが存在する可能性があります。したがって、異なる数の行があります。 SQLはそれを好まない。 – RealCheeseLord
Thx @RealCheeseLord。各サブクエリの結果を個別に表示するにはどうすればよいですか? – beachCode