Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 18.06.2006 Ostrzeżenie: (0%)
|
Witam!
Mam pytanie, czy w mySQL istnieje możliwość wykonania zapytania w poniżej przedstawionym układzie tabel. Mamy tabelę główną, np.:
oraz tabelę poboczną 'z wartościami', przypisanymi do konkretnych rekordów z tabeli 'main':
W tabeli `main` przechowuję sobie jakieś rekordy o unikalnym ID, natomiast w tabeli `vars` przechowuję rekordy posiadające unikalne ID oraz ID rekordu z tabeli `main`, w tej tabeli znajduje się ponad to nazwa zmiennej oraz jej wartość. Przykładowo:
Moje pytanie jest następujące, czy wogóle możliwe jest pobranie rekordów z tabeli 'main' posiadających "przypisane" w tabeli 'vars' wartosci dla pola `varValue`= "2000" oraz jednoczesnie dla pola `varName` wartosc `zmienna1`? Wiem, że można te dwie tabele połączyć np. Left join'em, ale nazwy kolumn będą się powtarzać. Po głowie mi chodzi, aby możliwe było dynamiczne nazwanie kolumn `varName` wartosią pola `varValue` i już łatwo wyszukiwać np. WHERE vars.main_id=main.id AND zmienna1='2000'. Da radę to zrobić w ten sposób? Może macie inny pomysł. Byłbym wdzięczny za jakąś wskazówkę / pomoc. Chodzi mi tutuaj o ładne i w miarę optymalne zapytanie mySQL. Pozdrawiam. Ktoś ma jakiś pomysł jak to zrobić? Czy może jest to nie wykonalne? Ten post edytował starcode 27.03.2008, 15:02:02 |
|
|
|
starcode [MySQL] Pobieranie danych - Zapytanie "wirtualne" pola 27.03.2008, 12:12:16
abusiek Nie wiem czy ja czegos nie rozumiem, czy wystarczy... 27.03.2008, 13:19:53
starcode Sorki. Być może nie wyraziłem się precyzyjnie.
W ... 27.03.2008, 13:59:02
kitol A może tak:
[SQL] pobierz, plaintext SELECT * FROM... 27.03.2008, 16:54:14
starcode Niestety nie.
Zapytanie to zwraca:
[SQL] pobierz... 17.04.2008, 01:05:48
dr_bonzo [SQL] pobierz, plaintext EXPLAIN SELECT * FROM var... 17.04.2008, 03:13:01
starcode No właśnie wiem. Dlatego w piewszym poście zapytał... 17.04.2008, 14:09:51
dr_bonzo Nie da sie tak "dynamicznie" nazwac kolu... 17.04.2008, 14:48:24 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 16:45 |