0
人,我有一個很難拿出一個SQL會爲我提供以下的輸出:mysql命令通過匹配第一個錶行再休息
ID|CITY_SLUG|BAIRRO|NEIGHBORHOOD_BAIRRO|CIDADE|UF|STATE_SLUG
4444|4444|Porto Alegre do Norte
5671|5671|Porto Alegre do Piauí
7994|7994|Porto Alegre
9919|9919|Porto Alegre do Tocantins
12538|12538|Linha Porto Alegre
12538|12538|Centro|63310|Linha Porto Alegre|RS|rs
7994|7994|Aberta dos Morros|13460|Porto Alegre|RS|rs
4444|4444|Centro|38981|Porto Alegre do Norte|MT|mt
5671|5671|Centro|39387|Porto Alegre do Piauí|PI|pi
9919|9919|Setor Central|32994|Porto Alegre do Tocantins|TO|to
4444|4444|Centro|38981|Porto Alegre do Norte|MT|mt
5671|5671|Centro|39387|Porto Alegre do Piauí|PI|pi
7994|7994|Aberta dos Morros|13460|Porto Alegre|RS|rs
的想法是先列出城市然後列出匹配的城市名稱的鄰里,這是我的SQL:
Select
CITY.ID,
CITY.SLUG as CITY_SLUG,
NEIGHBORHOOD.NAME as BAIRRO,
NEIGHBORHOOD.SLUG AS NEIGHBORHOOD_BAIRRO,
CITY.NAME as CIDADE,
STATE.ABB AS UF,
STATE.SLUG AS STATE_SLUG
from CITY
LEFT OUTER join STATE on CITY.ID_STATE=STATE.ID
LEFT OUTER join NEIGHBORHOOD on NEIGHBORHOOD.ID_CITY = CITY.ID
WHERE (CITY.NAME LIKE '%PORTO ALE%')
我認爲源表上的某些上下文是必需的。 – Alfabravo
'JOIN'在結果的同一行中組合了相關的行。你想要在不同的行中的鄰居?你需要使用'UNION'把東西放在不同的行中。 – Barmar