2016-09-27 5 views
3

特定の日付の患者キューである 'queue'という名前のテーブルにデータを挿入する必要があります。 2つのフィールドデータが挿入されます.2つのフィールド名は「PatientID」と「Visiting Date」です。キューMysql:select &&に挿入する場所はありません

しかし、レコードを挿入しながら、二つの条件があります:

条件1:patitentIDは患者テーブルから来ている(下記の) 条件2:1の

QueueID  |   PatientID |   Visiting_date | 
-------------|-------------------|-------------------------| 
     1  | 4    |  Current date  | 

テーブルのようなテーブル 'キュー'反復を防ぐためにレコードが 'queue'テーブルに挿入されます.PentientID = 4は挿入されていないと挿入されません。

-------------|-----------------|------------------| 
patitentID | Patient Name | Contact no | 
-------------|-----------------|------------------| 
    4  | David   | 01245785874  | 

テーブル:患者

マイSQLです(それは動作しません)

INSERT INTO `queue`(`patientID`, `Visiting_date`) 
SELECT patient.`patientID`,’CURDATE()’ FROM `patient` 
WHERE NOT EXISTS (
    SELECT `patientID`, `visiting_date`FROM `queue` 
WHERE `patientID` = '4' AND `visting_date`=CURDATE() 
) LIMIT 1; 
+0

どのようなエラーが表示されますか? –

答えて

0

そのテーブル内のそのIDを持つユーザーが存在する場合、私がチェックするために別のクエリを使用します。

SELECT * FROM queue WHERE PatientID = 4;

し、そのクエリの結果を確認し、それが行を返す場合、それはそこに、ユーザがそこにある、あなたが何もしないことを意味します。

クエリが行を返さない場合は、クエリを使用してユーザーを不活性にすることができるようになりました。この

INSERT INTO queue (PatientID, VisitingDate);

1

のようにあなたは、患者IDが存在することを確認するforeign keyを設定することができます。

キューテーブルでは、patientIDをuniqueと設定できます。これにより、キューテーブルに一意のIDのみを挿入できるようになります。

また、同じユーザーIDを挿入できますが、日付が異なる場合はcould specify unique constraint for multiple columns in MySQLとなります。

mysqlクエリで解決したい場合は、use this questionとすることができます。

関連する問題