我试图获取id,来自1表id的feename不在studentfeeTable中,其中invoiceID为5,但我收到此错误。我不知道如何处理它。请帮忙
select id, Fee_Head_Name from admission_fees_structure Where ID NOT IN (Select * from
student_fee_detail where invoiceID=5) ;
答案 0 :(得分:3)
您使用了“ID NOT IN(从student_fee_detail选择*,其中invoiceID = 5)”。
您应该使用“ID NOT IN(从student_fee_detail中选择ID,其中invoiceID = 5)”。
您应该将一列与另一列进行比较。不是整行。
在这种情况下,最好使用它。
select id, Fee_Head_Name
FROM admission_fees_structure outer
Where
exists
(Select 1 from Student_fee_detail inner
where inner.invoiceID=5 and inner.ID = outer.ID) ;
答案 1 :(得分:1)
在您的Sub查询中,您必须选择Id而不是'*',因为您要将其与ID进行比较。您无法将单个列与整行进行比较。 MySQl将如何知道整行中哪个值与ID进行比较 它一定是这样的
Select Id from
student_fee_detail where invoiceID=5