Слияние двух запросов вместе - PullRequest
0 голосов
/ 19 февраля 2020

Это действительно должно быть простым заданием, но я целый час стучу головой по столу, пытаясь понять это. Может быть, кто-то здесь может помочь. У меня есть два запроса.

SELECT id FROM confirmed_pairs

Все, что это делает, это возвращает 1-24. Список подтвержденных пар. Легко.

В следующем, мне пришлось трижды жестко ввести в него цифру «1»:

SELECT 1 AS orig_id, confirmed_pair_id FROM confirmed_pair_team_scores cpts WHERE cpts.confirmed_pair_id != 1 AND team_id <= 56 AND team_id IN
    (SELECT team_id FROM confirmed_pair_team_scores cpts2 WHERE cpts2.confirmed_pair_id = 1)

Запрос работает так, что он возвращает два столбца с данными, которые мне нужны. Хотя только когда orig_id равен "1". Я хочу 1-24, как указано в первом запросе.

Есть ли простой SQL способ сделать это или я должен просто сделать это в PHP и вызвать запрос 24 раза? Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2020

Кто-то на другом сайте ответил на вопрос. Хитрость заключалась в том, чтобы использовать CROSS JOIN примерно так:

SELECT confirmed_pairs.id  AS orig_id, confirmed_pair_id 
    FROM confirmed_pair_team_scores cpts 
    CROSS JOIN confirmed_pairs WHERE
        cpts.confirmed_pair_id != confirmed_pairs.id AND
        team_id <= 56 AND
        team_id IN
            (SELECT team_id FROM confirmed_pair_team_scores cpts2 WHERE   
             cpts2.confirmed_pair_id = confirmed_pairs.id )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...