Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy da się jednym zapytaniem pobrać dane?
Forum PHP.pl > Forum > Bazy danych
miedzna
Mam porąbaną bazę:
jest 10 tablic, każda z nich ma taką strukturę:

id | nick | pytanie1
id | nick | pytanie2
.
.
.
id | nick | pytanie10

komórka pytanie1 ... pytanie10 zawiera tylko literkę a, b lub c.

A teraz pytanie:
czy da się jednym zapytaniem pobrać dane w postaci:

wacek a|c|b|...|a
lucek a|b|a...|c

itd.

Dodatkowo później muszę policzyć, że np. w pytaniu 1 poprawna odpowiedź była a,, w drugim c, w trzecim a,...w dziesiatym b. i za każdą poprawną odpowiedź doliczam userowi punkt.
Chyba zrypałem bazę i się nie da tego zrobić, a najgorsze jest to, że konkurs już od 3 dni trwa a ja dopiero dowiedziałem się, że w takiej formie maja być wyniki konkursu sadsmiley02.gif

Porażka...
Foxx
A nie możesz zmienić bazy? Ta jest hm...
Na przykład tak:

users :
id | nick

answers:
id | id_users | pyt1 | pyt2 | pyt3 | .... | pyt10 |

I masz dwie tabele zamiast 10 i nie masz niepotrzebnie wszędzie nicka.
A potem tylko

  1. SELECT a.nick, b.pyt1, ... , b.pyt10
  2. FROM users
  3. AS a, answers AS b
  4. WHERE a.id=b.id_users;
splatch
Idąc z teorią normalizacji:
Kod
[user] 1----* [user_pytanie] *----1 [pytanie]
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.