質問編集履歴
5
コードの変更
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
|
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: S
|
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
|
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
コードの編集
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
編集
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
コンソールエラーの追加
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
わかりやすく編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,18 @@
|
|
1
|
+
```java
|
2
|
+
|
1
|
-
SELECT ID,NAME,TEXT FROM COMMENT WHERE NAME=
|
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
|
|