0

私は4つのテーブルを持っています。

1番目と2番目には標準的なコンテンツがあり、3番目と4番目のテーブルには次のようなコンテンツがあります

最初

id
name

2番目

id
count

第3

id
color

第4

id
id_third
id_first

そして、2番目、3番目、4番目のテーブルのデータを使用して最初からすべてを選択します。

SELECT id,
       name, 
       ifnull((select count from second s where s.id  = f.id),0) as page,
FROM first f

しかし、どのように私は3番目のテーブルからすべての行を選択することができますか?four.id_first={最初のtblからのID}???

編集。

しかし、私は1つの値ではなく、いくつかのテーブルから選択したいです!!!

たとえば、このコードは私が望むことを実行していますが、1つのtblで複数の行を選択できないためエラーが発生します。(2行目を参照)

    select SQL_CALC_FOUND_ROWS s.url,
        ifnull((select * from labels_data ld, labels l where ld.id=l.site_id and l.site_id=s.id),0) as labels,
        ifnull((select count from counter_li cl where cl.site_id = s.id order by date desc limit 1),0) as counter_li,
        ifnull((select count from counter_li cl where cl.site_id = s.id order by date desc limit 1 offset 1),0) as counter_li_before,
        last_check
    from sdata s
4

2 に答える 2

0

以下の SQL を参照してください。

SELECT f.id,f.name,s.count, t.id, t.color, fo.id
FROM first f, second s, third t, fourth fo
WHERE f.id = s.id
AND fo.id_third = t.id
AND fo.id_first = fo.id
于 2013-02-22T12:54:54.403 に答える