Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Fragment nazwy tabeli jako pole w zapytaniu
Forum PHP.pl > Forum > Przedszkole
asix73
Witam wszystkich forumowiczów. Mam pytanie nawet nie przedszkolne, ale żłobkowe ☺ Mam kilka tabel o nazwach trasa2000, trasa2001, trasa2002 itd. W tabelach są informacje o trasach wyścigu kolarskiego w konkretnych latach. Każda z tabel ma 4 kolumny : nr_etapu, start, meta, dlugosc. Start to miasto startu, meta to miasto finiszu a dlugosc to kilometraż etapu. Czy jest możliwe stworzyć, przy tak określonych tabelach, zapytanie w MySQL, w wyniku wykonania którego otrzymam jako jedno z pól w rekordzie fragment nazwy tabeli, a konkretnie rok tj. 4 ostatnie litery z nazwy tabeli i np. obok roku konkretnie szukane miasto finiszu ?
trueblue
  1. SELECT '2000' AS rok, pole1, pole2 FROM trasa2000;


Struktura bazy jest do przeróbki.
asix73
Cytat(trueblue @ 1.09.2017, 11:47:14 ) *
  1. SELECT '2000' AS rok, pole1, pole2 FROM trasa2000;


Struktura bazy jest do przeróbki.


Załóżmy, że Kraków jako miasto finiszu występował w latach 2001 na etapie 5 i w 2003 na etapie 4. Jak będzie wtedy wyglądało zapytanie, które pokaże mi rok i etap wystąpienia Krakowa jako miasta finiszu ? Przy tak zdefiniowanych tabelach, to chyba niemożliwe prawda ?
nospor
Tak, tabele masz beznadziejne. Powinna byc jedna tabela i po sprawie.

Przy strukturze co teraz masz to walenie union dla kazdej tabeli.
asix73
Ok. Czyli robię jedną tabelę. Pola : rok, nr_etapu, start, meta, dlugosc. A jaki będzie klucz główny ?
nospor
Jaki klucz glowny? Wszystko zalezy od wymagan. Czy w danym roku moze byc trasa z miasta do miasta dwa razy z tych samych miast?

Mozesz dodac tez pole id i ono bedzie kluczem glownym
asix73
Cytat(nospor @ 1.09.2017, 12:51:44 ) *
Jaki klucz glowny? Wszystko zalezy od wymagan. Czy w danym roku moze byc trasa z miasta do miasta dwa razy z tych samych miast?

Mozesz dodac tez pole id i ono bedzie kluczem glownym


Nie. Może być jedynie sytuacja taka, że miasto finiszu np. na etapie 10 będzie miastem startu na etapie 11 w danym roku. A czy zamiast id można zrobić klucz główny złożony tj. pola rok+nr_etapu ?
Pyton_000
tak można
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.