sqlite&内部连接查询

eimct9ow  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(443)

大家好,我有一个查询,其中有3个表在连接。在access中它可以工作,但是在sqlite中它给了我一个错误,我如何“适应”sql命令?谢谢

  1. UPDATE (
  2. CategoriaTB
  3. INNER JOIN MagazzinoTB ON CategoriaTB.IDCategoria =
  4. MagazzinoTB.IDCategoria
  5. ) INNER JOIN PersoneTB ON MagazzinoTB.IDPersone =
  6. PersoneTB.IDPersone
  7. SET MagazzinoTB.DataReso = "aaa"
  8. WHERE ((
  9. (PersoneTB.CodicePer)="F")
  10. AND ((MagazzinoTB.Stato)=0)
  11. AND ((MagazzinoTB.DataVendita) Is Null)
  12. )
mwkjh3gx

mwkjh3gx1#

sqlite不支持 UPDATE 声明,但你可以用 EXISTS :

  1. UPDATE MagazzinoTB
  2. SET DataReso = 'aaa'
  3. WHERE Stato = 0 AND DataVendita IS NULL
  4. AND EXISTS (SELECT 1 FROM CategoriaTB c WHERE c.IDCategoria = MagazzinoTB.IDCategoria)
  5. AND EXISTS (SELECT 1 FROM PersoneTB p WHERE p.IDPersone = MagazzinoTB.IDPersone AND p.CodicePer = 'F')
bejyjqdl

bejyjqdl2#

请使用下面的查询,

  1. UPDATE MagazzinoTB set DataReso = 'aaa' WHERE (IDCategoria, IDPersone)
  2. IN (SELECT CategoriaTB.IDCategoria, PersoneTB.IDPersone FROM CategoriaTB
  3. INNER JOIN MagazzinoTB ON
  4. CategoriaTB.IDCategoria = MagazzinoTB.IDCategoria
  5. INNER JOIN PersoneTB
  6. ON MagazzinoTB.IDPersone = PersoneTB.IDPersone
  7. WHERE (((PersoneTB.CodicePer)="F") AND ((MagazzinoTB.Stato)=0) AND
  8. ((MagazzinoTB.DataVendita) Is Null)));

相关问题