我在寫一個SQL腳本來檢查MySQL數據庫的完整性。查詢檢查不同表格的不同方面,所以它們不相關。我不想與他們聯繫。我只想一個接一個地看到不同查詢的結果。從不相關的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