我试图从 1 个表 id 中获取 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) ;
我试图从 1 个表 id 中获取 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) ;
您使用了“ID NOT IN (Select * from student_fee_detail where 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) ;
在您的子查询中,您必须选择 Id 而不是“*”,因为您将它与 ID 进行比较。您不能将单列与整行进行比较。MySQl 如何知道整行中的哪个值要与 ID 进行比较。
一定是这样的
Select Id from
student_fee_detail where invoiceID=5