Pytam o dużą bazę danych mysql z tylko uprawnieniami do odczytu i chciałbym ustawić kilka powolnych wyników kwerendy na zmienną "foo", aby móc ich używać ponownie w innych kwerendach .Przypisywanie wyników zapytania do zmiennej MySQL
Zasadniczo chcę mieć zmienną dla niewygodnego podkwerendy, więc mogę go ponownie używać bez kosztów jego uruchomienia za każdym razem, gdy chcę go użyć.
kiedy wchodzi:
set @foo := (select *
from table1 join table2
where bar = 0
group by id);
uzyskać: Błąd 1241 (21000) Argument powinien zawierać 1 kolumnę (-y) i jeśli ograniczenia do 1 kolumnie ERROR 1242 (21000) Podkwerenda zwraca więcej niż 1 wiersz
Czy istnieje sposób na zapisanie tablicy lub tabeli w zmiennej? Nie mam uprawnień do tworzenia tabel tymczasowych.
Dzięki, ale teraz otrzymuję: ERROR 1241 (21000): Argument powinien zawierać 1 kolumnę (-y). Kiedy ograniczam go do 1 kolumny, otrzymuję: Podzapytowanie zwraca więcej niż 1 wiersz. – 5un5
tak, ponieważ '@ foo' może przechowywać tylko jedną wartość. więc w twoim poleceniu "SELECT" powinieneś wiedzieć, że zwróci pojedynczą wartość. –
Ach, rozumiem. Dzięki. Czy istnieje sposób na przechowywanie tabeli lub dzierżawy tablicy wartości wyników zapytania w zmiennej? – 5un5