2010-11-30 6 views
0

私はいくつかのSQLを書こうとしています。基本的には、次のフィールドを(SQLのみに関連するものが表示される)持っている2つのテーブルがあります:SQLのアドバイス - 別のテーブルの列に基づいて選択する

請求書

accno (fk, linked to id on accounts) 

は基本的に、私のSQLを返す必要があり

id (pk) 
allocateduser 

アカウントどのアカウントのすべての請求書に、現在ログインしている名前がAllocatedUserであるかがセッションに格納されます。これは簡単ですか?

おかげ

+0

ここでは、SQLジョインに関する良い記事です:www.devshed.com/c/a/MySQL/Understanding-SQL-Joins/ – Leslie

答えて

1

あなたはwhere文を使用して、ユーザーのすべてのアカウントを検索し、joinと請求書テーブルに結果をリンクすることができます。たとえば:

select * 
from invoices i 
join accounts a 
on  i.accno = a.id 
where a.allocateduser = 'YourUser' 
0

あなたは半結合を使用することができます

SELECT * 
    FROM invoice 
WHERE EXISTS(

SELECT 1 
    FROM accounts 
WHERE allocateduser = @allocateduser_value 
    AND pk = fk) 

@allocateduser_valueはあなたのセッションから渡すパラメータです。文字列の場合に注意してください、ジョンはジョンではありません;-)

関連する問題