0

アカウント情報を含むテーブルがあるので、アカウント番号とアクションコードなどです。各アカウントには、複数の行を与えるために多くのアクションコードを含めることができます。履歴に特定のコードが存在しないアカウントを選択したいと考えています。

例: コード CODE001 がアカウント 1234 に対するものである場合、そのアカウントのレコードを返したくありません。私はここで太っていることを知っています!

ありがとう

4

3 に答える 3

1

アカウント情報を含む 1 つのテーブルと、accountID と actionCode を含む 1 つのテーブルの 2 つのテーブルがあると思いますか?

その場合、内部の選択結果に含まれていないすべてのアカウントを取得します。

SELECT * FROM accountTable WHERE accountID NOT IN (SELECT DISTINCT accountID FROM account_actionCode WHERE actionCode = 'CODE001')
于 2013-06-25T10:35:18.460 に答える
0

sいいえ、それはできません (MySql は各エントリに行と列があるため実行される線形データベースであるため) ... しかし、オブジェクト指向データベースを検索することはできます。

これを行うより良い方法は、2 つのデータベースを使用することです。

1 つはアカウント用、もう 1 つは ActionCodes 用です。

ロジックは次のように推測できます

Select Acc from Accounts :
      where there does not exist a entry in ActionCodes for account Acc


SELECT * FROM accounts WHERE acc NOT IN (SELECT DISTINCT ac FROM ActionCode WHERE actionCode = 'actioncode')
于 2013-06-25T10:41:42.720 に答える