Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2018, 19:42
Avatar de gnavarro82
gnavarro82
 
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Sonrisa Apoyo con Query para Select desde Java a Mysl

hola amigos, nuevamente acudo a ustedes con este problema, que ahora se me esta haciendo recurrente. tengo 2 tablas qu tienen en comun un campo en comun


cuando realizo un select desde java de esta manera, no me devuelve nada
Código:
public DefaultTableModel mostrarVentas() {
		try {
			DefaultTableModel miModelo;
			String[] titulos = { "Id", "IdReserva", "Nombre", "Fecha", "Hora" };
			String datos[] = new String[5];
			miModelo = new DefaultTableModel(null, titulos);
			String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v, tbreserva r where r.idReserva = v.reservaId";
			PreparedStatement pst = cn.prepareStatement(sql);
			ResultSet rs = pst.executeQuery();
			while (rs.next()) {
				datos[0] = rs.getString("v.idVenta");
				datos[1] = rs.getString("v.reservaId");
				datos[2] = rs.getString("r.nombre");
				datos[3] = rs.getString("v.fecha");
				datos[4] = rs.getString("v.hora");
				miModelo.addRow(datos);
			}

			return miModelo;
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, e);
			return null;
		}
	}
y si lo quiero hacer de manera mas simple en otra clase , me figura el siguiente error
Código:
public static void main(String[] args) throws SQLException {
		// TODO Auto-generated method stub
		
		String datos[] = new String[5];
		String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v"
						+ "inner join tbreserva as r on (r.idReserva = 2)";
           
		PreparedStatement pst = cn.prepareStatement(sql);
		ResultSet rs = pst.executeQuery();
		while (rs.next()) {
			datos[0] = rs.getString("v.idVenta");
			datos[1] = rs.getString("v.reservaId");
			datos[2] = rs.getString("r.nombre");
			datos[3] = rs.getString("v.fecha");
			datos[4] = rs.getString("v.hora");
			
			System.out.println(datos[1]);
			
		}
		
		
		
	}
el error es
Código:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'v.idVenta' in 'field list'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
	at com.mysql.jdbc.Util.getInstance(Util.java:381)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1737)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1888)
	at jtablesjoin.Pueba_Join.main(Pueba_Join.java:19)
me parece que tiene que ver con la sintaxis que estoy usando para la consulta en mysql
pero no se como resolverlo.
de antemano muchas gracias a todos por sus aportes