Java多表查询

Java多表查询,java,mysql,Java,Mysql,我想用2个表进行查询,但是,我不能 这是代码,但不起作用 有什么想法吗 Class.forName("com.mysql.jdbc.Driver"); Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost/kalandpark","root",""); Statement stmt=null; ResultSet rs

我想用2个表进行查询,但是,我不能 这是代码,但不起作用 有什么想法吗

Class.forName("com.mysql.jdbc.Driver");
            Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost/kalandpark","root","");
            Statement stmt=null;
            ResultSet rs=null;
            // int vk=(Integer)jList1.getSelectedValue();
            String vk=vkTF.getText();
            String SQL="Select * from belepes where vonalkod="+vk+" and belepes.jegytipus=jegy.jegytipus";
            stmt=(Statement) con.createStatement();
            rs=stmt.executeQuery(SQL);
            jTextField1.enableInputMethods(false);
            while (rs.next())
            {

                int uvk= (int) rs.getDouble("vonalkod");
                String jegyt= rs.getString("jegytipus");
                String belep= rs.getString("belepett");
                String idolejar= rs.getString("idolejar");
                String kilepett= rs.getString("kilepett");
                int ssz= rs.getInt("sorszam");
                int ar = rs.getInt("ar");
                String jegyt2= rs.getString("jegytipus");
                jvonalkoD.setText(""+uvk);
                jJegytipuS.setText(jegyt);        
                jbelepetT.setText(belep);
                jidolejaR.setText(idolejar);
                jkilepetT.setText(kilepett);
                jar.setText(""+ar);

            }

你说有两张桌子,但在from子句中只有一张桌子。您需要包括到jegy表的联接。

如果我的猜测正确,jegy是另一个表吗?那样的话,试试这个

String SQL="SELECT * FROM belepes A LEFT JOIN jegy B ON B.jegytipus = A.jegytipus WHERE vonalkod='"+vk+"'";
首先,学习。你似乎缺乏基本知识

接下来,永不,永不,永不在Java中将值连接到SQL字符串中,如下所示:

String SQL="Select * from belepes where vonalkod="+vk+" and belepes.jegytipus=jegy.jegytipus";
相反,请在PreparedStatement中使用setter方法

问题解决了 这是正确的SQL


字符串SQL=Select*from belepes b inner join jegy j on b.jegytipus=j.jegytipus,其中b.vonalkod=+vk

如果我的猜测是正确的,您想将表jegy和表belepes组合起来吗?执行类似操作:从belepes b、jegy j中选择*其中b.vonalkod=+vk+和b.jegytipus=j.jegytipus如果您回答包含的将参数连接到sql查询中,你的答案是错误的。这是一个使用他的语句的指针,而不完全是ans。让他找出什么适合他的要求&当然,如何构造查询。