2017-02-25 1 views
0

私はMySQLを使ってミニプロジェクトをやっています。別のテーブルの値に基づいてテーブルの行にアクセスするにはどうすればよいですか?

studentbookの2つのテーブルをそれぞれ6つと5つの列で作成しました。今

mysql> select * from book; 
+--------+------+------------+---------+------+ 
| bookid | Name | Authorname | edition | cost | 
+--------+------+------------+---------+------+ 
| cc12 | dbms | guna  |  5 | 500 | 
| cc34 | CA | fasil  |  5 | 600 | 
| cs113 | OS | rohan  |  3 | 300 | 
| cs12 | AI | ganesh  |  2 | 1000 | 
| cs343 | c# | jackesh |  4 | 300 | 
+--------+------+------------+---------+------+ 
5 rows in set (0.00 sec) 

mysql> select * from studentbook; 
+-----+--------+-----------+ 
| Sno | bookid | Studid | 
+-----+--------+-----------+ 
| 1 | cc12 | 14vec1088 | 
| 2 | cs113 | 14vec1099 | 
| 3 | cc34 | 14vec1132 | 
| 4 | cs343 | 14vec2011 | 
| 5 | cs12 | 14vec100 | 
+-----+--------+-----------+ 
5 rows in set (0.00 sec) 

、私はテーブルstudentbookで言及studidのいずれかを入力します(これは、バックエンドにPHPによって行われる)は、テーブルbookからそれぞれstudidに関連した書籍の詳細を表示する必要があります。

私は上記をMySQL Queryを使用して実行できますか?

+0

WHERE句を追加し、PKとFKを接続する必要があります。 –

+0

あなたの試みは見られますか? – Strawberry

+0

クエリを詳しく教えていただけますか? –

答えて

3

これは問題ありません。

SELECT * FROM book 
WHERE bookid IN 
(SELECT bookid FROM studentbook 
WHERE studid = "[Id of which you want book]"); 
1

これは、必要なものを取得する必要があります。

SELECT b.* 
FROM book b 
INNER JOIN studentbook sb on b.bookid = sb.bookid 
WHERE sb.Studid = [your id] 
関連する問題