0

私はこのようなテーブルを持っていますorders-

id  | bookId 
------------
1      3              
2      2               
3      1  

そしてこれbooks-

bookId  |  book
---------------
  1       bookA
  2       bookB
  3       bookC

私が行うときにbook下に列を取得できる方法はありますかbookId

select * from orders where id = '1'

その結果は次のようになります-

id  | bookId 
------------
1      bookC         <------- bookC instead of 3  
4

3 に答える 3

2

テーブル内の列のテーブルをテーブル内の列に結合する必要があります。bookidordersbookidbooks

select o.id, b.book as bookId
from orders o
inner join books b
  on o.bookid = b.bookid
where o.id = 1;
于 2013-06-28T21:45:37.430 に答える
1

を実行した後JOIN、別の名前で列を取得するには、取得したいことを言う必要がありますb.book AS bookId

SELECT o.id, b.book as bookId
FROM orders o
INNER JOIN books b
    ON o.bookId = b.id
WHERE o.id = 1

(未テスト、DBMS は列名の類似性について不平を言うかもしれません)

于 2013-06-28T21:48:32.550 に答える