pomoc w zapytaniu

0

robię left join po tabeli data
SELECT R_8960, t1.data, t1.id FROM p10r1t8960 t1 LEFT JOIN p10r1t9024 t2 ON t1.data=t2.data WHERE data BETWEEN '2013-08-21 0000' AND '2013-08-21 1500' ORDER by id DESC LIMIT 5000

i pisze mi #1052 - Column 'data' in where clause is ambiguous
czyli, że kolumna data jest określona niejasno?
probowałem różnych kombinacji i ciągle bład

jeśli dam po WHERE t1.data to pisze, że nie ma takiej kolumny
jak to poprawnie napisać?

1

Nie jest to optymalne rozwiązanie, ale powinno poprawnie zwracać rekordy.

SELECT R_8960
      ,t1.data
      ,t1.id
  FROM p10r1t8960 t1
  LEFT OUTER JOIN p10r1t9024 t2
    ON t1.data = t2.data
 WHERE t1.data BETWEEN '2013-08-21 00:00:00' AND '2013-08-21 15:24:00'
 ORDER by id DESC LIMIT 5000;

Jeśli to nie chodzi to prawdopodobnie masz inny format danych w kolumnie t1.data niż podawany przez Ciebie string '2013-08-21 0000'. Sprawdź jaki masz tam format i w razie czego użyj TO_DATE('2013-08-21 0000 AM', 'YYYY-MM-DD HHSS AM').

0
PawlakSocho napisał(a):

Nie jest to optymalne rozwiązanie, ale powinno poprawnie zwracać rekordy.

dzięki, zwraca
a jak jest optypalnie, bo na moim mikrokomputerze zrobilo czas parudziesieciu sekund
podczas gdy oddzielnie przepytuje poniżej sekundy
na zwyklym komputerze roznicy nie ma

0

Zapomniałem usunąć informacji że "Nie jest to optymalne rozwiązanie, ale (...)". Bo początkowo miałem inny sposób który nie był optymalny, ale ten który podałem myślę że jest odpowiedni :)
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1