1

私は 2 つのテーブルを持っています:equiposサッカー チームの名前calendarioと試合 (jornadas) です。jornada 1 のマッチを取得する必要があります。

例: レアル・マドリード - バルセロナ

これが私のクエリです:

SELECT NOMBRE, NOMBRE FROM EQUIPOS 
LEFT JOIN CALENDARIO ON EQUIPOS.ID=CALENDARIO.ID_LOCAL 
    AND EQUIPOS.ID=CALENDARIO.ID_VISITANTE
WHERE JORNADA=1;

最初のテーブルは CALENDARIO で、2 番目のテーブルは EQUIPOS です

カレリオ

エクイポス

4

3 に答える 3

2

次のようなことができます:

SELECT local.Nombre, visitante.Nombre
FROM calendario
LEFT JOIN EQUIPO local ON calendario.ID_LOCAL = local.ID
LEFT JOIN EQUIPO visitante ON calendario.ID_LOCAL = visitante.ID
WHERE JORNADA = 1

そして、あなたの他の質問について:

完全。また、ID と NAME のフィールドを持つ ARBITROS という別のテーブルがある場合、すべての試合で Arbitros の名前を取得したいですか??

クエリがあります:

SELECT local.Nombre, visitante.Nombre, arbitros.Name 
FROM calendario 
LEFT JOIN EQUIPO local ON calendario.ID_LOCAL = local.ID 
LEFT JOIN EQUIPO visitante ON calendario.ID_LOCAL = visitante.ID 
LEFT JOIN arbitros arbitros ON calendario.ID_arbitros = arbitros.ID 
WHERE JORNADA = 1
于 2013-04-10T17:53:47.083 に答える
1

テーブルに対して 2 つの結合を行う必要がありますEQUIPOS(おそらく結合である必要はありません)。

SELECT EQUIPO_LOCAL.NOMBRE AS LOCAL, EQUIPO_VISITANTE.NOMBRE AS VISITANTE
FROM CALENDARIO
JOIN EQUIPOS AS EQUIPO_LOCAL ON CALENDARIO.ID_LOCAL = EQUIPO_LOCAL.ID
JOIN EQUIPOS AS EQUIPO_VISITANTE ON CALENDARIO.ID_VISITANTE = EQUIPO_VISITANTE.ID
WHERE JORNADA=1;
于 2013-04-10T17:53:16.783 に答える
1
SELECT NOMBRE, NOMBRE FROM EQUIPOS LEFT JOIN CALENDARIO
ON EQUIPOS.ID=CALENDARIO.ID_LOCAL AND EQUIPOS.ID=CALENDARIO.ID_VISITANTE
WHERE JORNADA=1;

ローカル チームはビジター チームと同じにすることはできないため、AND が原因で ON 条件は使用できません ... 別のテーブルで条件を実行するには、チーム テーブルに 2 回参加する必要があります

于 2013-04-10T17:53:48.487 に答える