私は約100の薬の相互作用を含むテーブルを持っています。X個の薬剤名を挿入すると、最初の2列にそれらの薬剤名が存在するすべての行が返されるというステートメントを作成しようとしています。
患者がジクマロール、ワルファリン、レセルピンを持っている場合、下の「表の例」の写真の4行目と6行目を返します。
MySQLを使用するphpMyAdminを使用しています。私は、標準の束試してみたSELECT
との問い合わせをWHERE
言うことMedikamentAとMedikamentBはのような二つの薬剤の名前に等しいです:
SELECT * FROM MIdatabase
WHERE MedikamentA = 'dicoumarol'
AND MedikamentB = 'ergotamine' " OR " MedikmentA = 'ergotamine'
OR MedikamentB = 'dicoumarol'
完全には正しくありませんが、頭のてっぺんに書きました。おそらく、OR
周りを切り替えて、いくつかのparanthesisを持っている必要があります。
私はこれをしようとして頭のてっぺんから少し髪を引き裂くところです:p
かっこがないため、クエリでは期待どおりの結果が得られないと思います。
あなたが望むものを達成するための最も簡単な方法は、使用することです IN()
SELECT
*
FROM
MIdatabase
WHERE
MedikamentA IN ('dicoumarol', 'warfarin', 'reserpine')
AND MedikamentB IN ('dicoumarol', 'warfarin', 'reserpine');
上記のクエリは、以下のクエリと同じです。
SELECT
*
FROM
MIdatabase
WHERE
(
MedikamentA = 'dicoumarol'
OR MedikamentA = 'warfarin'
OR MedikamentA = 'reserpine'
)
AND (
MedikamentB = 'dicoumarol'
OR MedikamentB = 'warfarin'
OR MedikamentB = 'reserpine'
);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加