sql >> Databasteknik >  >> RDS >> Mysql

Kardinalitetsbrott vid användning av en underfråga som returnerar två värden

Något som nedan borde göra susen.

select * 
From table1 a , (select id1 , id2 from table2 ) b 
where (a.id = b.id1) or  (a.id = b.id2)

eller så kan du JOIN med samma bord två gånger genom att ge de sammanfogade borden ett alias.

select * from table1 a 
INNER JOIN table2 b1 on a.id = b1.id1
INNER JOIN table2 b2 on a.id = b2.id2

Testa ovanstående mot dina datauppsättningar/tabeller...




  1. Mysql-tjänsten startar inte, InnoDB init-funktionsfel

  2. Databasdesign för mycket stora mängder data

  3. Hur åtgärdar jag felet "Named Pipes Provider, error 40 - Kunde inte öppna en anslutning till" SQL Server?

  4. Hur man ändrar max_connections för Postgres genom SQL-kommandot