2016-10-21 3 views
-2

Может помочь мне в обновлении этого SQL-запроса, который будет выполняться в функции VBscript, у меня есть ошибки в синтаксисе.SQL-запрос в VBscript

Я получил «Ожидаемый конец заявления» в качестве сообщения об ошибке.

sql4 = "SELECT MAX(price) INTO maximun_price FROM table1 WHERE item_num = ("SELECT MAX(item_num) FROM table2 WHERE ITEM_TYPE IN ('T', 'R') AND seller_num = ("SELECT seller_num FROM Sellers WHERE seller_code LIKE 'xyz'")");" 

Мне нужно обновить синтаксис запроса, который будет принят редактором VBcsript.

+1

Ваши строки сломаны. –

+0

Я имею в виду, что вы не можете использовать кавычки в своей строке, потому что VBScript считает, что вы заканчиваете строку. Поэтому вам нужно избегать их, используя два в ряд. Но вам вообще не нужно указывать свои подзапросы (см. Мой ответ). –

+0

строки @sourh начинаются и заканчиваются '' 'в VBScript, так что в настоящий момент они сломаны. – Lankymart

ответ

1

Изменить строку следующим образом:

sql4 = "SELECT MAX(price) INTO maximun_price FROM table1 WHERE item_num = (SELECT MAX(item_num) FROM table2 WHERE ITEM_TYPE IN ('T', 'R') AND seller_num = (SELECT seller_num FROM Sellers WHERE seller_code LIKE 'xyz'));" 

Вам не нужно кавычки в подзапросов, и даже если вы сделали, вы бы все равно, чтобы избежать их, чтобы они не прервала синтаксис VBScript.

1

Ваша строка в VBScript сломана, она должна выглядеть более как это ';

sql4 = "SELECT MAX(price) INTO maximun_price FROM table1 WHERE item_num = (SELECT MAX(item_num) FROM table2 WHERE ITEM_TYPE IN ('T', 'R') AND seller_num = (SELECT seller_num FROM Sellers WHERE seller_code LIKE 'xyz'));" 

Не знаете, откуда появились дополнительные строковые кавычки, но они вызовут синтаксическую ошибку в VBScript. Это четко выделено в блоке кода в вашем вопросе, потому что подсветка синтаксиса для строки прерывается на item_num = (".