J.w. niestety nie potrafiłem znaleźc odpowiedzi na moje pytanie.
SELECT * FROM tabela as t WHERE tabela.kolumna = warunek
Jest może jakieś obejście?
J.w. niestety nie potrafiłem znaleźc odpowiedzi na moje pytanie.
SELECT * FROM tabela as t WHERE tabela.kolumna = warunek
Jest może jakieś obejście?
Co to znaczy nie znalazłeś? Czy nie chciało ci się sprawdzić, szybciej byś to zapytanie puścił na bazie niż napisał pytanie na forum...
Nie da się tak zrobic dostaniesz komunikat:
The multi-part identifier "tabela.kolumna" could not be bound.
Po to się tworzy aliasy by z nich korzystać
Obejście to usunąć alias...
Chciało i sprawdziłem, i dostałem error. Ciekawiło mnie czy można to jakoś obejść. Niestety jest mi to potrzebne bo zkładam query dynamicznie, ale dzieki za odp.
Nie rozumiem, co ma zakladanie dynamicznego zapytania do nieznajomosci aliasu/tabeli?
Tworzyłem coś takiego jak scope, który pozwala dodawać warunki where, z tym że chciałem aby można było podać generyczną nazwę tabeli np. contacts, a query dołączone do zapytania zmieni contacts na alias, który jest już użyty przy joinie np. Nie wiadomo jaki zostanie podan alias, stąd to pytanie, ale już sobie poradziłem.
Ja to obchodzę tak, że jak generuje dyamiczny where znając tylko nazwy kolumn to obchodzę to poprzez stworzenie zapytanie z podzapytaniem. Czyli np. w Twoim wypadku zrobiłbym tak:
SELECT *
FROM (SELECT *
FROM tabela AS t) AS tabtoQuery
I wtedy nie mam problemów jak jest budowany główny select bo pytam tylko kolumny...