以下に 2 つの結果セットがあります。
SELECT * FROM `mfw_host`
WHERE host_id IN
(SELECT host_id FROM `latest_tech`
WHERE `nav_node_id` = 213)
SELECT * FROM `mfw_navnode`
WHERE host_id IN
(SELECT host_id FROM mfw_host
WHERE host_id IN (SELECT host_id FROM `latest_tech`
WHERE `nav_node_id` = 213))
両方の結果を一緒に結合することです.結合と結合なしで(それらを接続するキーがなく、結果のセットごとにフィールドが異なるため)。
どうすればそれを達成できますか?
更新:.... 回答が更新されました 上記を参照してください..
上記の結果を 2 つのセットから一緒に追加したい..それぞれ 5 行を返し、それぞれ異なる列番号を取得する
1つの解決策を試しました:
SELECT
a.*
, b.*
FROM
( SELECT * FROM `mfw_host`
WHERE host_id IN
(SELECT host_id FROM `latest_tech`
WHERE `nav_node_id` = 213)
) AS a
CROSS JOIN
( SELECT * FROM `mfw_navnode`
WHERE host_id IN
(SELECT host_id FROM mfw_host
WHERE host_id IN (SELECT host_id FROM `latest_tech`
WHERE `nav_node_id` = 213))
) AS b
このクロス結合で返される行が多すぎます