1

とというテーブルがdb.dataありdb.infoます。db.dataテーブルには、すべてのエントリの列がありnameます。テーブルには、すべての名前のadateaddedと列があります(ステータスはyまたはnのいずれかです)。ステータス(db.status内の1つ)がnの場合に限り、日付ごとにそのdbに追加されたすべての名前のデータをdb.dataテーブルからプルしたいと思います。infonamestatus

私は周りを見回して見つけましJOINたが、それはデータが両方のテーブルで同じである場合にのみ機能するようです。ここでは、名前は同じですが、db.dataからデータを抽出したいのですが、「name」セル(両方のテーブルにある)のステータスのみが「n」に設定されています。

4

3 に答える 3

1

私が理解していることから、各name列のデータ両方のテーブルで同じです。したがって、JOINここで動作するはずです:

SELECT db.data.*
FROM db.data
INNER JOIN db.info ON db.data.name = db.info.name
WHERE db.info.status = 'n'
于 2013-03-12T17:38:46.633 に答える
1

これがあなたが望むものだと思います:

select d.name, d.dateadded
  FROM db.info i, db.data d 
  WHERE i.name = d.name
    AND i.status = 'n';
于 2013-03-12T17:42:33.497 に答える
1

2 つのテーブル間で名前の結合を使用できます

SELECT d.name, d.date
FROM db.data d
    JOIN db.info i ON d.name = i.name
WHERE i.status = 'N'
ORDER BY d.date
于 2013-03-12T17:40:15.933 に答える