質問編集履歴

5

コードの変更

2016/05/03 03:44

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,12 @@
1
1
  ```java
2
2
 
3
- String sql="SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=? & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC";
3
+ String sql="SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME IN(SELECT NAME,FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC";
4
4
 
5
5
 
6
6
 
7
7
  PreparedStatement pStmt=conn.prepareStatement(sql);
8
8
 
9
9
  pStmt.setString(1,loginUser.getName());
10
-
11
- pStmt.setString(2, loginUser.getName());
12
10
 
13
11
  ```
14
12
 
@@ -22,15 +20,11 @@
22
20
 
23
21
  ```java
24
22
 
25
- org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=?[*] & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC"; SQL statement:
23
+ org.h2.jdbc.JdbcSQLException: Subquery is not a single column query; SQL statement:
26
24
 
27
- SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=? & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC [42000-190]
25
+ SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME IN(SELECT NAME,FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC [90052-190]
28
26
 
29
27
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
30
-
31
- at org.h2.message.DbException.get(DbException.java:179)
32
-
33
- at org.h2.message.DbException.get(DbException.java:155)
34
28
 
35
29
  ```
36
30
 

4

コードの編集

2016/05/03 03:44

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,8 @@
50
50
 
51
51
  CREATE TABLE FRIEND(
52
52
 
53
+ ID INT PRIMARY KEY AUTO_INCREMENT,
54
+
53
55
  NAME VARCHAR(100) NOT NULL,
54
56
 
55
57
  FRIENDNAME VARCHAR(100) NOT NULL);

3

編集

2016/05/03 02:54

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,9 @@
34
34
 
35
35
  ```
36
36
 
37
- DATABASEは、
37
+ DATABASEのテーブルは、
38
+
39
+ ```java
38
40
 
39
41
  CREATE TABLE COMMENT(
40
42
 
@@ -52,6 +54,8 @@
52
54
 
53
55
  FRIENDNAME VARCHAR(100) NOT NULL);
54
56
 
57
+ ```
58
+
55
59
 
56
60
 
57
61
  のようになっていて、自分と自分の友達のID,NAME,TEXTを表示したいです。

2

コンソールエラーの追加

2016/05/03 02:53

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- SELECTの中にSELECTを入れるコード間違えていますか?どうぞよろしくお願いします。
1
+ SELECTの中にSELECTを入れるコードのどこを間違えているのでしょうか?どうぞよろしくお願いします。
test CHANGED
@@ -16,7 +16,23 @@
16
16
 
17
17
 
18
18
 
19
- 間違えているでしょうか?
19
+ どこを間違えているでしょうか?
20
+
21
+ コンソールのエラーです
22
+
23
+ ```java
24
+
25
+ org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=?[*] & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC"; SQL statement:
26
+
27
+ SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=? & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC [42000-190]
28
+
29
+ at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
30
+
31
+ at org.h2.message.DbException.get(DbException.java:179)
32
+
33
+ at org.h2.message.DbException.get(DbException.java:155)
34
+
35
+ ```
20
36
 
21
37
  DATABASEには、
22
38
 

1

わかりやすく編集

2016/05/03 02:51

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,18 @@
1
+ ```java
2
+
1
- SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME='伊藤' & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME='伊藤') ORDER BY ID DESC;
3
+ String sql="SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=? & NAME=(SELECT FRIENDNAME FROM FRIEND WHERE NAME=?) ORDER BY ID DESC";
4
+
5
+
6
+
7
+ PreparedStatement pStmt=conn.prepareStatement(sql);
8
+
9
+ pStmt.setString(1,loginUser.getName());
10
+
11
+ pStmt.setString(2, loginUser.getName());
12
+
13
+ ```
14
+
15
+ loginUserは自分の名前とパスワードの変数です。
2
16
 
3
17
 
4
18