Problem z wyświetlaniem kilu tabel jednocześnie[sql]

0

Witam. Mam pewien problem. Otóż utworzyłem dwie tablice, "panstwa" oraz "miasta". Oto ich deklaracja i wypełnienie:

create table panstwa(panstwo varchar(50))
insert into panstwa(panstwo)values('afganistan')
insert into panstwa(panstwo)values('albania')
insert into panstwa(panstwo)values('algieria')

create table miasta(miasto varchar(50))
insert into miasta(miasto)values('gaborne')
insert into miasta(miasto)values('francistown')
insert into miasta(miasto)values('molepolole')

Po wyświetleniu ich w ten sposób:

select * from panstwa
select * from miasta

wyglądają tak:

panstwo
1
2
3
miasto
----------------
1
2
3
jednak po wyświetleniu w ten sposób:
select * from panstwa, miasta

otrzymuję mniej więcej taki efekt:

panstwo miasto
1 afganistan
2 albania
3 algieria
4 afganistan
5 albania
6 algieria
7 afganistan
8 albania
9 algieria
Co zrobiłem źle i jak mógłbym to naprawić, żeby wyglądało np. tak:
panstwo miasto
---------------- ----------------
1 afganistan
2 albania
3 algieria
Od razu mówię, że potrzebne mi jest tylko do tego, żeby móc szybko sprawdzać dane w bazie, nie musząc przewijać nie wiadomo ile w dół, żeby obejrzeć osobno każdą tabelkę(bo w sumie mam ich 6).
Proszę o pomoc.
0
CREATE TABLE panstwa
(
  panstwo VARCHAR(50),
  id int
)
CREATE TABLE miasta
(
  miasto VARCHAR(50),
  id int
)
SELECT panstwa.panstwo, miasta.miasto FROM miasta, panstwa WHERE miasta.id = panstwa.id
0

Dzięki @bogdans, działa.

@Edit
Działa, ale tylko dla identycznej ilości rekordów w tabelach, a ja potrzebuję ich różną ilość.

0

No to stwórz sobie dwie tabele ( jeden do wiele ) ( Państwa miasta ) i potem:

select p.id_panstwa, p.panstwo, m.miasto from panstwa p JOIN miasta as m USING(id_panstwa)

To tak najprościej.

0

Można też tak

CREATE TABLE panstwa
(
  panstwo VARCHAR(50),
  id INT
)
CREATE TABLE miasta
(
  miasto VARCHAR(50),
  id_panstwa INT
)
SELECT panstwa.panstwo, miasta.miasto FROM miasta, panstwa WHERE miasta.id_panstwa = panstwa.id

Musisz wtedy zapewnić właściwą wartość pola id_panstwa podczas dopisywania do tabeli miasta.

1 użytkowników online, w tym zalogowanych: 0, gości: 1