Я пытаюсь выполнить запрос SELECT в SQL в Java (Netbeans), используя Access как SGBD, но когда кажется, что запятая (","), которую вы можете поместить между таблицами в Access не работает на Java?Множество таблиц, присоединяющихся к java-доступу SQL
Что я делаю неправильно?
Благодаря @teppic его ответа, но не работает much`
Однако, я до сих пор есть проблема: он говорит о синтаксической ошибке в FROM. Что действительно странно, так это то, что запрос хорошо работает в Access, а другие (более простые) запросы были правильно реализованы в скрипте Java. Я не нашел документа об этом в книгах, которые я купил, или даже в Сети, потому что часто с меньшим количеством таблиц! Спасибо заранее -
PreparedStatement ps = cnx.prepareStatement("SELECT Client.Nom , Facture.Date_Achat , Client.Prénom , Facture.N°Fac , SUM(Contient1.Quantité1*PrixAchatMonture)AS Somme"+
"FROM Facture , Client , Contient1 , Monture"+
"ON Facture.N°Client=Client.N°Client AND Facture.N°Fac=Contient1.N°Fac AND Contient1.IDM=Monture.IDM "+
"WHERE Client.Nom =? AND Client.Prénom=?"+
"GROUP BY Client.Nom, Facture.Date_Achat, Client.Prénom, Facture.N°Fac",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
// ! au sens de la jointure pour l'affichage
[Microsoft] [Pilote ODBC Microsoft Access] В предложении SELECT инструкции, зарезервированное слово или отсутствующего аргумента или неправильной пунктуации
Update
Я попытался добавление пробелов в конец каждого фрагмента строки, но я все еще получаю сообщение об ошибке
PreparedStatement ps = cnx.prepareStatement("SELECT Client.Nom , Facture.Date_Achat , Client.Prénom , Facture.N°Fac , SUM(Contient1.Quantité1 * Monture.PrixAchatMonture) AS Somme "+ "FROM Facture "+ "INNER JOIN Client ON Facture.N°Client=Client.N°Client "+ "INNER JOIN Contient1 ON Facture.N°Fac=Contient1.N°Fac "+ "INNER JOIN Monture ON Contient1.IDM=Monture.IDM "+"WHERE Client.Nom =? AND Client.Prénom=? "+ "GROUP BY Client.Nom, Facture.Date_Achat, Client.Prénom, Facture.N°Fac ",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
Вы забыли пробелы в конце строк, в которые вы присоединяетесь. – teppic
PierreDH, взгляните на мой ответ – BrunoDM