2013-10-21 1 views
0

4 개의 임의 행을 선택하려고하면 오류가 계속 발생합니다. 이 일을하기에 snytax가 맞는지 확신 할 수 없습니다. 또한 참고 액세스 DB를 사용하고 있습니다. ManaTypes는 문자열 배열입니다.RAND() 구문을 올바르게 사용하는 방법

with adoquery1 do 
begin 
    close; 
    sql.Clear; 
    sql.Add('SELECT * '); 
    sql.Add('FROM Cards '); 
    sql.Add('WHERE Color='+ManaTypes[i]+' ORDER BY RAND() Limit 4'); 
    open; 
end; 

얻기 오류 'snytax 오류 쿼리 식 (누락 된 연산자)'= "

+0

는 또한 Rnd'에 의해 물론 –

+0

예를'시도 ORDER 시도 색상 : D 또한 ORDER BY Rnd Limit 4도 같은 오류를 발생시키지 않았습니다 –

+0

'cards '뒤에 공백을 추가 했습니까? –

답변

2

sql.Add(
    'SELECT Top 4 * 
    FROM 
    (
     SELECT *, Rnd(ID) AS RandomValue 
     FROM Cards 
     WHERE Color = "' + ManaTypes[i] + '" 
    ) 
    ORDER BY RandomValue' 
+0

그것이 작동했거나 적어도 실행되었지만 '및' 주위에 –

+1

도 같은 4 임의의 것들을 매번주는 것 같다? –

+0

여전히 작동하지만 여전히 4 임의의 것들 .. 내가해야한다고 생각처럼 작동하지 않습니다 무작위 않는가요? –