SQL select where 子句中的语句

SQL select statement in where clause

您好,我正在尝试执行查询,但似乎无法正确执行。

SELECT *
FROM   table
WHERE  id IN (SELECT *
              FROM   table
              WHERE  description = 'A')
AND description = 'B' 

以上是我得到的查询,select * from table where description = A 仅在 运行 时按预期工作,我只需要使 where 子句起作用,这样我就可以看到任何具有描述的 ID A 和 B.

where 子句中不需要 select

SELECT *
FROM table
WHERE id IN ('A', 'B')

当我假设您只需要 id 列时,您将从子查询中获取多个列:

SELECT *
FROM   table
WHERE  id IN (SELECT id
          FROM   table
          WHERE  description = 'A')
   AND description = 'B' 

应该是:

select * from table where id in (select id from table where description = 'A') and description = 'B'

但是如果你想获得描述为 A 或B、那你应该写成

select * from table where description = 'A' or description = 'B'

select * from table where description in ('A','B')

试试这个:

SELECT *
FROM table
WHERE description IN ('A', 'B')
SELECT distinct AnaTablo.Id , AnaTablo.FirmaAdi , AnaTablo.FirmaId , AnaTablo.KayitTarihi ,
users.Email Personel,   (SELECT top 1 sabitler.Ayar from tblSabitAyarlar sabitler WHERE sabitler.Tur = 29 and sabitler.Deger in 
(SELECT top 1 IslemId from tblEFaturaTakipIslem Islem WHERE AnaTablo.Id = Islem.EFaturaTakipId order by KayitTarihi desc))YapilanIslem,
AnaTablo.Eposta , AnaTablo.Aciklama
from tblEFaturaTakip AnaTablo left join AspNetUsers users on AnaTablo.PersonelId  = users.Id