2009-09-04 1 views
0

別のSQL文の中で資源の再利用と私は疑問を持っている: iは、クエリがあります私はすべてのSQLには、MySQLサーバではかなり新しいのPHPを使用しています

$book_copy_user = "SELECT * FROM copy_book " . 
        "JOIN copy_user_own " . 
        "ON copy_book.copy_id = copy_user_own.copy_id " . 
        "WHERE copy_user_own.user_id=1"; 

$res1 =mysql_query($sql1) or die (mysql_error()); 

返し

のようなもの
[{"copy_id":"1","book_id":"1","user_id":"1"}, 
{"copy_id":"2","book_id":"2","user_id":"1"}, 
{"copy_id":"3","book_id":"3","user_id":"1"}, 
{"copy_id":"4","book_id":"4","user_id":"1"}] 

私はwhere句で3つの異なるselectを実行したいと思いますが、しようとすると、1つの列がもっとあることがわかります。

私の質問は: 私は選択結果を使用して選択する方法がありますか? その場合、選択結果のフィールドにどのように関連付けることができますか?

コードサンプルにあなたが聖人あるあなたのすべて

感謝:)私はそれは、MySQLで動作するかどうかはわからない

答えて

0
SELECT * FROM (SELECT * FROM copy_book JOIN copy_user_own ON copy_book.copy_id = copy_user_own.copy_id WHERE copy_user_own.user_id=1) WHERE copy_id = 4 

althroughを提供してください。

いいえ、選択した後、別のものを適用することはできません。

1

temporary tableにデータを選択して、そのテーブルに対してさらにクエリを実行できます。

CREATE TEMPORARY TABLE temp_table SELECT ... 

実際の問題を投稿した方がよいと思うが、それはずっと良い解決策がある可能性が非常に高い。

関連する問題