sql >> Database teknologi >  >> RDS >> Mysql

Sammenføjning af flere borde uden fælles nøgle

En mulig tilgang:

SELECT l.Item, m.name, c.Color FROM linkage_Table AS l INNER JOIN Material_Table AS m ON l.Material = '*' OR l.Material = m.name INNER JOIN Color_Table AS c ON l.Color = '*' OR l.Color = c.Color

SQL violin

Forklaring:forespørgslen skal bygges således, at 'materiale' og 'farve' tabeller forbindes enten fuldstændigt (krydssammenføjning), når '*' er angivet i det tilsvarende felt, eller ved ligestilling mellem disse felter. Og det er præcis, hvad vi fik ved at bruge 'ON l.someField = '*' OR l.someField = joined.someField' klausul.



  1. Skinner med Postgres-data returneres ude af drift

  2. Yii CDbConnection kunne ikke åbne DB-forbindelsen:kunne ikke finde driver med google cloud sql

  3. Python:ModuleNotFoundError:Intet modulnavn 'mysql'

  4. Sådan udskiftes en del af en streng i SQL