0
我有數據庫具有以下表無法找出SQL查詢任務
登錄表:
CREATE TABLE [dbo].[Login]
(
[username] [nvarchar](100) NOT NULL,
[password] [nvarchar](50) NOT NULL,
[user_type] [nchar](10) NOT NULL,
[id] [int] IDENTITY(1,1) NOT NULL,
[isDelete] [bit] NOT NULL,
)
測試表:
CREATE TABLE [dbo].[Test]
(
[TestId] [int] IDENTITY(1,1) NOT NULL,
[TestName] [nvarchar](100) NOT NULL,
[UserId] [int] NOT NULL,
[isDelete] [bit] NOT NULL,
)
問題表:
CREATE TABLE [dbo].[Questions]
(
[Qid] [int] IDENTITY(1,1) NOT NULL,
[Tid] [int] NOT NULL,
[Qtype] [int] NOT NULL,
[Question] [nvarchar](max) NOT NULL,
[isDelete] [bit] NULL,
)
Login.id
是一個外鍵和引用Test.UserId
Test.TestId
是外鍵和引用Questions.Tid
我的問題是:我想獲取Login.username
,Test.TestName
和每個測試題的數量,例如我希望所有測試都存在,每個測試的問題數量(即使爲0)。
我嘗試下面的查詢
select
Test.TestId, Test.TestName, COUNT(Questions.Tid) as 'No.Of Questions'
from
Test, Questions
where
Test.TestId = Questions.Tid and
Questions.isDelete <> 'true'
group by
TestId, TestName
但此查詢只返回試驗,其中至少一個問題是,目前在問表。
我想要所有的測試必修課,然後每個測試的問題。
這是MySQL還是SQL Server?請不要同時使用這兩個標籤,因爲語法通常略微不同,而且您只是浪費了人們的時間。 –
它是Sql Server。對不起包括這兩個標籤 – SAM
[不良習慣踢:使用舊式聯接](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old -style-joins.aspx) - 在ANSI - ** 92 ** SQL標準中(** 25年*),舊式*逗號分隔的表*樣式列表已替換爲* proper * ANSI'JOIN'語法*之前),其使用是不鼓勵的 –