0

Select コマンドに問題があります。まず、他のテーブルの idHour とは異なるすべての時間を表示する必要があります。コードは次のとおりです。

SELECT DISTINCT Hours 
FROM agenda_hours A 
JOIN appoitment_hour B 
    ON (A.idHours <> B.Hour);

結果:

+---------+
| | 営業時間 |
+---------+
| | 07:00 |
| | 07:30 |
| | 08:00 |
| | 08:30 |
| | 09:00 |
| | 09:30 |
| | 10:00 |
| | 10:30 |
| | 11:00 |
| | 11:30 |
| | 12:00 |
| | 12:30 |
| | 13:00 |
| | 13:30 |
| | 14:00 |
| | 14:30 |
| | 15:00 |
| | 15:30 |
| | 16:00 |
| | 16:30 |
| | 17:00 |
| | 17:30 |
| | 18:00 |
| | 18:30 |
| | 19:00 |
| | 19:30 |
| | 20:00 |
+---------+
4

4 に答える 4

2

この方法を試してください:

SELECT DISTINCT Hours 
FROM agenda_hours A 
LEFT JOIN appoitment_hour B 
    ON (A.idHours = B.Hour)
WHERE B.Hour is null;
于 2013-08-24T22:02:35.797 に答える
0

あなたが望むのは次のようなものです(アジェンダ_時間からの時間ですか?)

SELECT DISTINCT Hours
FROM agenda_hours
WHERE idHours NOT IN (SELECT DISTINCT Hour FROM appoitment_hour)

ON 条件が指定されている場合、JOIN がテーブル内のすべての行を他のテーブル内のすべての行と一致させようとするという問題が発生しています。したがって、時間がすでに他のテーブルにある場合でも、その行は他のすべての行と一致します

于 2013-08-24T22:07:24.450 に答える